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