为什么使用表格进行网站布局是如此邪恶

joh*_*hnc 17 html layout html-table

我是一个Winforms和业务引擎开发人员,他在2年多来第一次使用asp.net,在那段时间我注意到了一些常规更改.

反布局'运动背后的逻辑是什么?

它是否允许使用css类来处理布局,如果是这样,这应该是页面上的问题,你确定它会保持静态,还是只是被认为是"丑陋"?

JW.*_*JW. 34

还有几点:

  • 不要狂热.CSS并不完美,有些东西可以通过表格轻松完成.所以,如果你需要,在那里放一张小桌子.它不会杀了你.

  • 基于表格的布局的主要"邪恶"是那种深度嵌套的混乱,它曾经是获得页面精确控制的唯一方法.您可以在表格中的表格中使用表格,并且策略性地放置透明图像以控制间距.我认为现在这种情况非常罕见,CSS会让你清理90%的混乱局面.

  • "语义网"是一个很好的目标,其中标签用于赋予页面意义,而不是描述布局.但是,当前版本的HTML并没有走得太远.因此,您的页面中总会有大量标签用于布局,没有其他含义.这并不意味着你不应该尽可能地分开内容和布局; 它只是意味着你不会100%到达那里.

  • IMO"div soup"和嵌套表一样糟糕,更有可能导致布局问题.至少表在浏览器中一致地工作! (5认同)

Mic*_*tum 22

它使得可访问性变得困难.想象一下,你是一个文本浏览器,你想要向盲人大声读出网站的内容.大多数基于表格的布局往往很难刮除并"理解"机器.

在这些关于Tables与CSS的讨论中,有很多精英主义/政治/狂热主义正在进行,但是在大规模上,CSS布局比基于表格的布局更清晰.

从理论上讲,它们也更容易维护.说,你想从左到右移动导航?当然,只需更改一个CSS文件就可以了.但话说回来,这通常会落在更复杂的网站上,在这些网站上,CSS经常被深深嵌套,而且复杂,变化并不容易,而模板系统使基于表格的布局不是完全不可维护的.


Tri*_*ick 16

值得一提的是,在显示表格数据时仍然合法地使用<table>标签.我使用的经验法则是,如果我正在显示一些可以轻松存在于speadsheet中的内容,那么表格标签就是最佳选择.


Vin*_*nie 8

有很多原因.一个原因是可访问性...布局表不会向内容添加语义,因此屏幕阅读器会遇到问题.因此,仅将表格用于表格数据.

这里有几点可以更详细地回答这个问题


lom*_*axx 5

在sitepoint上有一篇非常好的文章,它将表格与css设计成一个页面.这是一个非常有趣的阅读,并突出了设计人员/开发人员在使用表格(例如带有表格的错误源代码等表格)时的一些主要缺陷,通常需要额外的源代码,并且未来的变更不可避免地会变得复杂.