似乎普遍认为表不应该用于HTML中的布局.
为什么?
我从来没有(或很少诚实地)看到这方面的好论据.通常的答案是:
将内容与布局分开是件好事
但这是一个错误的论点; 陈词滥调.我想使用表格元素进行布局与表格数据几乎没有关系.所以呢?我的老板在乎吗?我的用户在乎吗?
也许我或我的开发人员必须维护一个网页关注......一个表不易维护吗?我认为使用表比使用div和CSS 更容易.
顺便说一下...为什么使用div或span将内容与布局和表格分开?只使用div来获得一个好的布局通常需要很多嵌套的div.
代码的可读性
我认为这是另一种方式.大多数人都懂HTML,很少有人理解CSS.
SEO最好不要使用表格
为什么?任何人都可以证明它是有证据的吗?或谷歌发表的声明表示,从SEO的角度来看,表格是不受欢迎的?
表格较慢.
必须插入额外的tbody元素.这是现代网络浏览器的花生.向我展示一些基准,其中使用表会显着减慢页面的速度.
如果没有桌子,布局检修会更容易,请参阅css Zen Garden.
大多数需要升级的网站也需要新内容(HTML).新版本的网站只需要新的CSS文件的情况不太可能发生.Zen Garden是一个不错的网站,但有点理论上.更不用说它滥用 CSS了.
我真的对使用divs + CSS而不是表格的好参数感兴趣.
在过去的几天里,我一直在思考这个问题.我正在编写一个Web应用程序(实际上是在现有的广泛应用程序中添加一个屏幕).我知道使用"表格"进行布局是一个很大的禁忌.但在这个应用程序中,所有页面都使用表格进行布局.我决定使用div来做我的新页面.但我遇到了2个障碍.
我需要做的很多布局工作已经在其他页面上完成了,如果我改用div,我就无法重用其中任何一个(CSS和JS以及那种东西).这导致了更多的工作并推迟了我的完成日期.
布局的一些更复杂的部分使用div很难做到,使用表格很容易.也许它只是我"老派",因为我不是一个web/html有点人(我过去了).
那么,为什么我不能使用表格呢?我不是想要争论,只是想看看除了"正确的事情"类型之外是否有任何引人注目的论点.我知道这是正确的做法.我想知道为什么?
我目前正在使用表来设计我的时间表 - 但我听说最好远离Web开发中的表格,因为它很少被建议.因此,我想知道是否有人可以规定更好的方法来实施我的时间表?到目前为止,我尝试过使用div几乎没有成功.
这是我正在使用的代码,可以在这里找到一个jsfiddle http://jsfiddle.net/s2ZgT/:
<div id="grid">
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr class="gridHeader">
<td> </td>
<td class="underline">09:00</td>
<td class="underline">10:00</td>
<td class="underline">11:00</td>
<td class="underline">12:00</td>
<td class="underline">13:00</td>
<td class="underline">14:00</td>
<td class="underline">15:00</td>
<td class="underline">16:00</td>
<td class="underline">17:00</td>
</tr>
<tr id="mon">
<td class="gridSide">Mon</td>
<td class="box" id="mon1"> </td>
<td class="box" id="mon2"> </td>
<td class="box" id="mon3"> </td>
<td class="box" id="mon4"> </td>
<td class="box" id="mon5"> </td>
<td class="box" id="mon6"> </td>
<td class="box" id="mon7"> </td>
<td class="box" id="mon8"> </td>
<td class="box" id="mon9"> </td>
</tr>
<tr id="tue">
<td class="gridSide">Tue</td>
<td class="box" id="tue1"> </td>
<td class="box" id="tue2"> </td>
<td class="box" id="tue3"> </td> …Run Code Online (Sandbox Code Playgroud)