【问题标题】:Correct Semantic use of CSS Properties正确使用 CSS 属性
【发布时间】:2014-03-09 08:44:55
【问题描述】:

由于不建议将table 元素用于布局目的(非表格数据),因为应用于这些元素的特殊格式may change in the future,是否也不建议使用CSS 属性,例如text-align ,它被设计用于文本,用于 img 元素是否出于相同的语义原因?

我一直在查看 w3c 规范,例如,line-height 似乎是为文本目的而设计的,并且在文档中对字体大小有很多引用,所以在 @ 上使用这个属性是合适的还是滥用的987654327@元素,仅仅因为它们显示为inline

我可以理解Semantic Web 的 W3C 想法如何使用 CSS 从页面中删除样式信息,将数据仅保留在 HTML 中以供内容可访问性使用。但是CSS 的原始基本原理文档在哪里,为什么他们不从一开始就使用像 horizontal-align 这样极其抽象的属性,而不是为每种显示类型使用唯一的对齐方式(例如 text-align: center 可以可用于所有display: inline 元素,例如img 元素)?

【问题讨论】:

  • 据我所见,CSS 定义了很多格式(考虑了许多、许多 边缘情况)和很少的语义(如果有的话)。
  • @BoltClock 所以基本上 CSS 并不像 HTML 及其元素(例如 bstrong)那样关注语义使用?
  • @AlexW:最大的想法是将内容与演示分开。 CSS 旨在描述表示,而不是语义内容。
  • @Mechanicalsnail 如果这就是 CSS 背后的原始原理,为什么从 CSS1 开始 CSS 就不会变得非常简单和抽象?

标签: html css semantic-markup


【解决方案1】:

没有。 CSS 纯粹是展示性的。一些属性命名不当(text-align 是一个很好的例子,它设计是为了对齐所有内联子元素)。

【讨论】:

  • 似乎是这样,但是当我想到它时,似乎CSS可以大大简化为所有元素的vertical-alignhorizontal-align变得很抽象,对吧?
  • 我查找了包含 CSS 背后的 w3c 基本原理的文档,但没有提出任何与此相关的内容。
  • @Alex W:当然可以,但它会严重破坏旧浏览器。
  • 奇怪的是,'text-align' 和 'vertical-align' 从 CSS1 开始就已经在规范中了。
【解决方案2】:

在表格单元格中使用text-align 非常好,只需按照您应该做的方式设置表格样式。如果你想。只需在 CSS 中完成即可。不要使用align="right"

https://developer.mozilla.org/en/CSS/text-align 说它适用于:块级元素、表格单元格和内联块。因此,这是一种记录在案并有意使用的用​​途。如果您有内联内容,请使用此属性设置其对齐方式。

http://www.w3.org/TR/CSS21/text.html#propdef-text-align 还说

此属性描述块容器的内联级内容如何对齐。

所以它不仅仅是文本,而是所有内联内容。

【讨论】:

  • 首先,这实际上是一条评论。其次,您是否有任何来自知名来源的文件支持您的立场?
  • 抱歉,发现我打错了盒子有点晚了。我将编辑我的答案,敬请期待。
猜你喜欢
  • 2021-06-05
  • 2011-04-01
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 2016-06-04
  • 2015-09-18
相关资源
最近更新 更多