日期:2014-04-11 浏览次数:21199 次
DIV与TABLE本身并不存在什么优缺点,所谓web标准只是推荐的是正确的使用标签,好比说:DIV用于规划,而TABLE则本来就是转二维数据的。让TABLE做该做的事,并不是说页面里不出现TABLE就是多么多么牛。
DIV是标准,是大势所趋,但并不意味着所有的页面都适合用它来做。
中国的门户和国外的有很大的区别,中国网民并不喜欢信息量少的页面,YAHOO到了中国页面上的内容就多了不少,而上次改为简约的页面后访问量下降的厉害以致于没过几天就又改了回来。正式由于中国的国情培养了搜狐、新浪这样门户。
为什么DIV不适合他们?下面从几个方面来逐一说明:
精简代码:
大家都说DIV的规划精简代码,但是用DIV替代TABLE所节约的代码又被CSS(款式)所占用,而这些款式大多用于控制DIV的排版规划。那你会说了,CSS可以放在外部重用啊,要想得到这个问题的答案请往下看。
重用性与下载量:
统一使用一个.css的款式表文件,可以实现修正一次,全站修正的效果,这样使得维护的成本更低。但是请大家换一个角度想,如果所有页面在加载时都要访问一个文件,那这个文件每天的下载量,特别时在搜狐、新浪的网站平台上将达到几亿次,这就需求后面有很多台前端web服务器在做支撑,那后台的成本无形中也提高了很多。如果后台支撑没有做好,那么页面就会出现花屏,之前所作的任务也是白费。很多人会问,这样的几率太小了。我们所作的任务就是为了避免这一两次不测的发生,如果不测发生了,对于门户后果将是不堪设想的。
HTTP通讯:
统一的款式表文件采用外部调用的方式,这样每次加载单个页面都会多一次对服务器的http请求服务器都会添加一次呼应,这样对前端web服务器会是很大的耗费。而原来很长时间都是将css和js写在页面前端,而不是作为外部调用的方式,也是为了尽量避免给服务器添加耗费。
页面缓存:
每次用户访问的页面,都会在浏览器缓存中保存一定时间,以保证用户下次再访问该页面时能够大大提高页面显示速度。而每次修正都会使页面重新下载,对于每个外部导入的款式文件也是如此,如果CSS文件修正,那么访问网站的每一个页面都会重新下载,而以往的将款式写在页面中的方式,只是修正的页面需求重新下载。
兼容性:
对于CSS(款式表)并不是所有浏览器的所有版本都支持的很好,比如IE5以前的浏览器对于CSS的支持就不是很好。而如今使用IE5以前版本浏览器的用户不在少数,这样就使得在页面制造的过程中需求针对不同浏览器版本进行测试,以保证兼容性,无形中也添加很多任务量(至少我接触的开发人员制造div页面比table页面的标准时间要长一些)。
横切与延展性:
横切——传统的规划方式为了使页面下载的更快,把页面自上而下分成若干个块,但是往往采用DIV进行规划的页面都会出现这样的情况,由于每块两头栏或者其他栏内容条数不固定导致两边栏目没有同时自顺应,而出现留白。
说了这么多并不是说DIV这种规划方式不好,而是说我们应该正确的看待Table在以内容为基础的大型门户中的作用,而不是人云亦云。之所以DIV的规划方式没有在大型网站使用,不是说门户没有用DIV是技术落后,是里面的人没有前瞻性,而是多种缘由决定的。网易之所以全部采用DIV的方式是由于内容并不是他们主攻方向。而对于其他门户来说,这样的决策是要靠时间来验证的。只是如今这个时机还不成熟而已。