5

这是每次看到都让我抓狂的东西。为什么使用div元素几乎是一种痴迷?

我理解为什么div在标记中大部分都是 s,每个都有一个id或(甚至更好)aclassName可以帮助开发一个干净的标记并保持对视觉变化的控制。

但是,例如,我不断看到有关如何使 div 表现得像表格的问题,即使他们被告知某些内容与 x 或 y 浏览器版本不兼容,他们仍然想做这样的事情:

<div style="display: table">
    <div style="display: table-row">
        <div style="display: table-cell">Content</div>
        <div style="display: table-cell">Content</div>
    </div>
    <div style="display: table-row">
        <div style="display: table-cell">Content</div>
        <div style="display: table-cell">Content</div>
    </div>
</div>

为什么?...真的:为什么?

为什么这比使用 a 更好table?或者,为什么使用表格是可恶的?

表格是HTML元素的一部分。它们的存在是有原因的,并且有一个好的目的。它们不会被弃用,也不会很快消失(或者早于divs)。最重要的是:它们在所有浏览器和版本中都能正常运行!

那么......为什么对让divs 表现得像桌子一样的痴迷?为什么这么多人这样写HTML/CSS然后为如此肮脏的东西感到自豪?

这不是 s 独有table的。我不断看到divs 替换所有html元素,例如h1.. h6spans 等。

为什么??

4

2 回答 2

3

不,使用表现得像表格单元格的 div 只是为了避免表格标签并没有好多少。

在合适的地方使用表格是完全可以的。如果要显示表格数据,请使用表格。如果您只是在类似网格的环境中使用表格来布局页面,那么不,不要使用表格。

人们使用带有表格行为的 div 的原因通常是因为他们不想使用表格,因为它们具有语义含义,但他们仍然想坚持表格布局。

最后,你不应该使用表格来布局页面。这里给出了很多很好的理由。

于 2013-04-26T09:04:36.733 回答
0

如果您想要这样的表格,可能 div 可能会更好:

<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
于 2013-04-26T09:06:01.887 回答