我想知道为什么他们为所有属性创建属性样式而不是为每个属性创建一个新属性?让我更好地解释一下,今天我们使用这个:
<p style="color:blue; background-color:red"></p>
我想知道他们为什么不这样做:
<p color="blue" background_color="red"></p>
是否有任何 w3c 文档中的内容告诉它?
我的理论,基于逻辑......像 color="blue" 这样的东西不是 CSS,它本质上是 HTML 语言的一部分。
有了图片中的 CSS,就没有理由扩展 HTML 来处理 HTML 从未设计过的东西。因此他们为 HTML 提供了一种阅读和理解 CSS 的方法。因此 style="" 属性。
当您可以简单地适应阅读已经存在的内容时,为什么还要创建多余的内容?
也就是说,您曾经能够使用诸如<font>
标签之类的东西来重新着色或调整文本大小,例如<font color="blue">
随着 CSS 变得越来越强大和扩展,没有必要实现这种类型的样式,这就是为什么现在 HTML5 中不推荐使用该标签的原因。
除了所有推理之外,还有一个明确的逻辑点,即每种类型的代码都服务于其特定目的。虽然它们允许您使用 style="" 属性将 CSS 插入 HTML 内联,但这不是最佳实践,应该在极端和独特的情况下使用。
我无法指出规范中详细说明的位置,但我会包括我的理解。
我相信其目的是促进风格与内容的分离。引入该style
属性是为了允许内联元素样式,但样式的预期方法是使用类和外部 CSS 来实现。这允许减小文档大小,以及一种通用的纯内容方法,除其他外,它允许一种简单的主题化方法。
style
也可能包含在内以解决引用外部样式表不切实际或不可能的情况。
因为尽可能多地,w3c试图从结构 (HTML) 中抽象表示 (CSS) .. 如果创建了新属性(实际上是属性),它会掩盖标记并使其更加混乱(并且更难调试)
尽可能使用外部样式表始终是最佳实践。
由于该style
属性,新 CSS 属性的开发不需要更新 HTML 规范。
如果我们对每个 CSS 属性都有一个单独的 HTML 属性,那么所有这些属性都必须在 HTML 规范中定义。因此,每当定义新的 CSS 属性时,都必须更新所有 HTML 规范。否则这个新的 CSS 不能在旧的 HTML 版本中使用(有效)。
同样,HTML 没有定义图形格式(如 PNG)或音频/视频的编解码器,math
或svg
.
因此 CSS 和 HTML 开发人员可以彼此分开工作,只要他们尊重他们同意的接口:style
属性(以及为 HTML 添加 CSS 的其他方式)。
另一个原因:将来可能会出现其他样式方法,与 CSS 不兼容。现在,当每个人都获得自己的属性时,那将变得一团糟。