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

转载于:https://blog.51cto.com/75197/8665

DIV与Table布局在大型网站的可用性比较相关推荐

  1. div+css与table布局

    1:速度和加载方式方面的区别 div 的加载方式是即读即加载,遇到 <div> 没有遇到 </div> 的时候一样加载 div 中的内容,读多少加载多少:table 的加载方式 ...

  2. 转: Div与table的区别

    1:速度和加载方式方面的区别 div 和 table 的差异不是速度,而是加载方式,速度只能是指网络速度,如果速度足够快,是没有差异的: div 的加载方式是即读即加载,遇到 <div> ...

  3. div布局、table布局、flex布局、多列布局、网格布局 示例

    目录 基础代码 demo.html css/common.css div实用布局示例 代码 效果图 table布局 代码 效果图 flex布局 代码 效果图 多列布局 代码 效果图 网格布局 代码 效 ...

  4. html div自适应布局,css两个div自适应宽度布局方法大全(精华)

    第一种方法:BFC块级格式化上下文 -----左边固定宽度----- ----------------------------------------右边自适应宽度------------------ ...

  5. table和div在页面布局上应该注意的问题

    在这篇文章开篇,我先纠正一下我之前写的一篇入门文章的错误,还是先引用一下比较官方的说法吧,避免再次误导各位新手 " <!DOCTYPE> 声明必须位于 HTML5 文档中的第一行 ...

  6. html中表格布局还是div布局,Table布局 VS Div+CSS布局,选哪个?

    Table布局 和 Div+CSS布局的争论,过了7-8年了,今天看到一篇文章<为什么我们不建议用Table布局>,又想发表下自己的见解,供初学 <为什么我们不建议用Table布局& ...

  7. 利用jQuery UI为CMS网站实现拖拽布局效果,秒杀table布局

    1 实现效果 对于使用过CMS系统制作网站的人应该都清楚,制作网站过程有一个重要的步骤就是制作页面布局.目前,实现页面布局有两种方式:table与div.这两种方式各有其优劣之处. Table: 优势 ...

  8. Div+CSS网页布局对网站搜索引擎优化的影响

    Div+CSS网页布局对网站搜索引擎优化的影响 我们都知道DivCSS网页布局的好处,它对网站搜索引擎优化的影响有哪些呢? 网站优化使用 DIV+CSS佈局,页面代码精简,这一点相信对XHTML有所瞭 ...

  9. 浅谈table布局和div布局的区别

    目录 背景 table布局 div+css布局 总结: table布局和div布局的区别 背景 早期的网页布局,基本都是采用table布局的.早期的网页相对来说比较的简单,类似于报纸一样,只有文字和静 ...

最新文章

  1. C语言6F多少,求助!!请人帮忙画C语言程序流程图.紧急!!!
  2. Spring框架中IoC(控制反转)的原理
  3. Lodash-一个一致性、模块化、高性能的 JavaScript 实用工具库介绍
  4. 基础html交代选择器,html 选择器之基础选择器
  5. 《手把手教你学C语言》学习笔记(10)--- 程序的循环控制
  6. C# 窗体全透明,控件不透明
  7. Spring Mvc前台访问报404
  8. symbolicatecrash App Bug 分析工具
  9. 利用青龙面板自动化跑聚看点脚本
  10. 使用puppeteer实现PDF文件合成
  11. arduino红外测距模块点亮一个LED灯
  12. SQLyog数据库导出
  13. 数字逻辑复习——触发器
  14. scanner练习:BMI计算
  15. 【动态规划】CH_0103 最短Hamilton路径
  16. 编译原理陈火旺第三版第七章课后题答案
  17. 在oracle存储过程中创建临时表
  18. 在智能手机上跟踪ADS-B系统的飞机航线信息
  19. 如何向天翼云服务器上传文件,天翼云储存上传文件的方法
  20. leetcode系列-844.比较含退格的字符串

热门文章

  1. JDBC——数据库的隔离级别
  2. 使用 Rx 中预定义的 Subject
  3. hdu 4676 Sum Of Gcd 莫队+phi反演
  4. C语言设计ATM存取款界面
  5. matlab和C/C++混合编程--Mex
  6. 超全的Go Http路由框架性能比较
  7. 使用opencv作物件识别(一) —— 积分直方图加速HOG特征计算
  8. 图像滤镜艺术---PS图层混合模式之明度模式
  9. Magento多图导入
  10. 【技术杂谈】RPC和RESTful API入门篇