【发布时间】:2012-08-07 05:30:43
【问题描述】:
我最近经常使用这些属性,尤其是display: table-cell。它在现代浏览器中得到了很好的支持,它对一些网格和对齐内容有很多好处,不需要复杂的标记。但在过去的几天里,我看到人们在谈论这个,因为使用这些属性是一种不好的做法/方法,就像在这个 answer 中一样。
优点(我现在想到的):
- 不向 HTML 标记添加语义
- 在现代浏览器中得到很好的支持
- 有助于对齐内容
- 有助于网格系统(最有可能结合对齐内容)
缺点
- 如果您只使用
display: table-cell;,则会自动添加缺少的部分(行和表)
所以我真的不明白,为什么将它们用于布局会很糟糕。
我想这个问题已经结束了(我可以理解),但也许有人有一个不错的答案——甚至对他们的使用持肯定态度。
【问题讨论】:
-
这是一种更严格的做事方式,但就其本身而言,使用它并没有什么坏处。
-
我可以想出一个理由不这样做,原因很明显。您将其设置为的显示选项是“表格单元格”,它可能有朝一日还带有额外的包袱,实际上使它看起来像表格数据。例如网格状外观或类似效果。
-
@TheZ 一些 HTML 元素具有默认外观。 CSS
display属性是一个非常不同的东西 - 它不应带有额外的包袱。table、tr等已经默认渲染成网格状,没问题。 -
@bažmegakapa 如果和语义无关为什么叫table-cell?他们可以称之为任何东西。
-
@AlexW - 感谢分享。
标签: css semantic-markup