这两天看了看XHTML语义,也做了些实践,发现为了达到w3c的标准去做网页,真是有些麻烦。为什么会强调使用DIV+CSS布局,似乎也有着充分的理由,总结起来基本为以下几点:
1. 适合多种浏览器和设备(包括搜索引擎)解读。
2. 在个性对外观更换比较容易。
3. 开发中可以有效隔离来自不同部门的同时操作的干扰。
先来说说标准支持:
似乎现在还没有哪个浏览器可以百分百全面支持XHTML1.0所定义的标签,并且有些标签在不同浏览器下还有莫名的不能解决的BUG,即便是统一品牌浏览器,不同版本间也可能存在巨大差异。既然w3c的XHTML不是强制标准,那要是浏览器不支持,有再多好处也是没办法的事。
对复杂布局的支持:
看看SINA和网易的首页,在看看它们的源代码,哦,原来它们早已经进入了xhtml结构布局体系中,我说怪不得这页面也够傻的呢,无所谓了,门户就是门户吗,做成个人网站那样,太个性的话就意味着排斥了其他人。
今天下午我试着用DIV排一个论坛首页版面列表的布局,可能是刚接触的原因吧,摆起来实在费劲,当然DIV也给了我不少小别扭,它好像说:“你要多了解我,我脾气有点古怪,想用我的话就多担待。”明明设置了height:0px但是非要设置font-size:0px它才能变“矮”。控制粒度变细了,控制难度也随之增加了。回行DIV控制的不是很好,复杂结构不如Table来的容易,但是为了怕被别人说滥用DIV,或误解XHTML标记语义,也就不敢随便用Table了。(啊,不知道w3c说的在使用数据的时候可以使用Table,难道只是类似excel似的表格吗?)
DIV对大结构布局有优势,但对于局部复杂排版,由于控制不便,反而异常麻烦,维护也不见得简单,并且在浏览器最大化下和缩小时(稍微),当设置“不够正确”时,会有错乱发生。
从开发角度讲:
新浪首页的样式行代码有660多行,相比首页中所有代码5295行来说,占了不少的份额,当然新浪的网站也不是一个人做的,既然如此,那1个人去定义数十甚至上百的css类及伪类名,会不会有可能疯掉呢?尤其象我这种solo万金油型的,我想在中国的公司里应该绝对不算少数,让他们去定义并维护如此数量之大的css样式,不用别人,我自己都会疯的。
并且,不是每个网页都需要适合不同设备,就算该页面具备了被手机浏览的能力,但是显示面积,网络带宽也有可能限制了页面内容不能象电脑屏幕显示的一模一样,或者有些业务根本就没打算用在除了PC以外的其他设备被上,在这些因素下,为了快速开发,为什么不能使用我们自己最熟悉的排版方式呢??
另外,就.net而言,从2.0版本开始就提供了强大的页面UI设计解决方案,从控件上来说,可以使用母板,从系统配置上来说,可以应用主题,从服务器端说,可以给输出设置一个硬件输出适配器,反正控件是服务器端解析,如果请求的是PC,那就使用web呈现适配器,如果是请求的来源是移动设备,我就自动调用mobile呈现适配器来更改服务器控件的输出方式。等等
可以说,.net从程序级别就完全实现了灵活控制UI的解决方案。而且在代码分离的设计下,同样不同工种的人可以同时互不干扰的写作,并且UI创作人员可以使用“主题”更方便的改变界面。
在开始强调一些新标准的时候,不要忘了实际情况,追求标准是没有问题的,抢在竞争对手之前的心态也是应该有的,但是没必要把新标准当做信仰,新标准往往是最不靠谱的东西,我认为能够使用自己熟练的标准完成同样质量的工作才是实干。1000万个浏览新浪首页的人,有几个会去用记事本看它的源文件呢?(2009-2-18)
加载中,请稍候......