&引用;语义学;CSS规则的定义:表格、表格行、表格单元格

&引用;语义学;CSS规则的定义:表格、表格行、表格单元格,css,semantic-markup,Css,Semantic Markup,我最近经常使用这些属性,尤其是display:table cell。它在现代浏览器中得到了很好的支持,并且对于某些网格和非常容易地对齐内容有很多好处,而不需要复杂的标记。但在过去的几天里,我看到人们谈论这一点,因为使用这些属性是一种不好的实践/方法,就像下面这样 优点(我现在想到): 不向HTML标记添加语义 在现代浏览器中得到很好的支持 有助于调整内容 有助于网格系统(最有可能的组合是对齐内容) 缺点 如果只使用显示:表格单元格自动添加缺少的部分(行和表) 所以我真的不明白,为什么用它

我最近经常使用这些属性,尤其是
display:table cell
。它在现代浏览器中得到了很好的支持,并且对于某些网格和非常容易地对齐内容有很多好处,而不需要复杂的标记。但在过去的几天里,我看到人们谈论这一点,因为使用这些属性是一种不好的实践/方法,就像下面这样

优点(我现在想到):

  • 不向HTML标记添加语义
  • 在现代浏览器中得到很好的支持
  • 有助于调整内容
  • 有助于网格系统(最有可能的组合是对齐内容)
缺点

  • 如果只使用
    显示:表格单元格自动添加缺少的部分(行和表)
所以我真的不明白,为什么用它们来做布局是不好的

我猜这个问题已经结束了(我可以理解),但也许有人有一个像样的答案——甚至对他们的用法持肯定态度。

引自:

不要忘记表格单元格不是正确的用法。你不想 由于表格单元格只应 包含表数据。只是升起警告旗。坚持 语义学


我不会说得太长:CSS根本与语义无关。我喜欢根据需要设置显示和位置,尽管我几乎总是将任何大型元素设置为
位置:相对
至于
display:table cell
——它只是改变了它的布局方式。如果你只需要一个整洁的4x4网格,为什么不使用它呢?它非常简单,非常干净,并且是一个非常简单的替代方案,可以对一个大的(凌乱的)表进行编码

我的建议是“如果它没有坏,就不要修理它”<代码>显示:
仅更改项目的显示方式显示~开始行动


我根据需要使用尽可能多的
显示:
,就像菜单可能是
:内联块
用于媒体查询,或
:block
用于全文,或
:table cell
用于侧边栏/文章部分上的简单甚至2列位。

一个积极因素:提供表格布局而不使用表格元素。一个负面影响:对某些用户代理产生负面影响:这是一个“一切都取决于…”的问题。

这是一种更为严格的做事方式,但使用它本身并没有害处。我可以想出一个不这样做的理由,理由很明显。您将其设置为的显示选项是“表格单元格”,它可能有一天会附带额外的行李,使其看起来像表格数据。例如类似网格的外观或类似效果。@z某些HTML元素具有默认外观。CSS
display
属性是一个非常不同的东西-它不应附带额外的行李<代码>表格
tr
等在默认情况下已以网格方式呈现,这很好。@bažmegakapa如果它与语义无关,为什么称之为表格单元格?他们可以称之为任何东西。@AlexW-谢谢分享。这就是我所想的-这里需要一些备份。实际上css提供了必要的技术来最大限度地利用html。如果没有css,我们仍然会做基于表的布局,这确实会影响语义。这只是一个例子。“太多了!”阿尔伯特,我就是这么说的。HTML处理语义,CSS处理样式。微格式提供语义。由于它们是html属性,idk如果这完全是css、混合或与您所说的相同的话;我永远不会称元素为css。也许我只需要为自己定义他们的互动。我们并不都是巨魔我喜欢学习。正是积极的讨论推动了这一点。谢谢你的回答。:)