DIVs与TABLE表示反驳
有很多人问“为什么我们不应该使用表格来构造我们的HTML”,并且当很多答案进来时,我很少看到任何人被转换到语义世界。 也就是说,我还没有看到任何有说服力的反驳来支持我们为什么应该(或可能)使用表格的理由。
任何人都在意为何时有效的结构标记提供理由?
2008年11月7日
考虑到这个问题并没有像我想象的那样消失,我想我最好能够澄清我的问题并解释它的存在。
通过在“DIVs vs. TABLEs”问题之后多次阅读“表格更容易”的论点,我想让问题再暴露一点,而不是让桌面爱好者如此轻易地摆脱困境。
对他们自己的其他人可能会说,但我永远被给予一些应用程序,把我们的网站,由一些“表更容易”创建的开发人员,把一块蹩脚的HTML转储到我的网页,老实说,我只是没有看到足够的桌旁爱好者倾听争论。
任何人都在当天使用曼波? 任何人都不得不把设计放在微软Sharepoint的顶端? 不得不通过所有嵌套的表格废话来争取你的方式是地狱,并认为它是由一些血腥的好编程人员写的恼人的我。 合理的语义标记已经存在了很长时间,应该没有理由让开发人员继续支持“表更容易”。 桌子不容易 - 他们很懒!
我的问题值得表达消极态度,但我仍然在等待人们接受他们使用表格的唯一原因是因为他们不知道HTML。 因为如果他们这样做了,那么他们就会明白,正如jjrv所说,表格是用于表格数据的。
有一张数据表时,表格才有效。 我已经看到了交互式网格小部件,他们在这里使用一堆div来避免可怕的表格标签。 当它是表格数据时,将它制成表格。
我的一个更有争议的观点是,当你在处理CSS中的垂直布局问题时遇到问题时,你可以使用一个表并且经常立即解决它。 也许不应该像应该将内容与演示文稿混合在一起,但它可以完成工作并避免CSS黑客绕过IE。
RE:为什么表?
因为有些人(毕竟这些年来)仍然害怕变化。 他们听说使用语义HTML是一件好事(通常不会完全理解这个概念)。 所以他们尝试使用CSS从未做过的布局。 他们遇到了一些(有据可查,通常很容易解决)问题,举起手来,跑回桌子。
然后他们认为CSS太费时(“我不愿意花时间去学习它”)或“不实际”(“我不明白,太难了”),而且这些表是唯一真实的方法。 通过固执和无知,他们相信他们自己的诡计,并说服他们的客户和同行。
而他们的世界仍然幸福而不变,进一步褪去过去,并进入过时*
这就是“为什么表”。 结束。
(*除了它们非常适合编码HTML电子邮件)
这些表格适合开发人员,他们不会花费数小时的CSS时间,无论内容如何,都可以将两个相邻的柱状div扩展到100%的高度和宽度,然后让黑客在所有浏览器中工作而无需添加额外的div封装器和然后最终绝对无奈他们诉诸5秒修复:
<table width="100%">
<tr><td valign="top">Left nav</td><td valign="top">Main content</td></tr>
</table>
实际情况是,大多数用户(不包括那些使用屏幕阅读器的用户)确实不在意页面是如何标记的,只要它加载得很快。
开发人员有预算和时间限制,“好”CSS和标记需要时间。
事实上,网上有大量资源用大量的资料详细解释了如何排列两个div来替换那张简单的表格,这很明显地告诉我,这种设计本质上与表格一样有缺陷。 需要多少个教程来解释如何添加一个包含两列的表格到一个页面?
HTML5应该为我们带来全新的页眉,页脚,栏目,导航栏和标签。 来自Nettuts +的示例:
<div id="content">
<div id="mainContent">
<section>
<!-- Blog post -->
</section>
<section id="comments">
<!-- Comments -->
</section>
<form>
<!-- Comment form -->
</form>
</div>
<aside>
<!-- Sidebar -->
</aside>
</div>
然后这为CSS:
#content {
display: table;
}
#mainContent {
display: table-cell;
width: 620px;
padding-right: 22px;
}
aside {
display: table-cell;
width: 300px;
}
当你注意到CSS具有以下属性时,那些敏锐的眼睛的人会喜欢讽刺的感觉: display: table;
并display: table-cell;
。
表是宝贝! 通过HTML5后门进入;-)
链接地址: http://www.djcxy.com/p/15467.html上一篇: DIVs vs. TABLEs a rebuttal please
下一篇: Yea or nay?