我想知道为什么要在特定类中设置元素样式,如下所示:
.reddish H1 { color: red }
在上下文选择器下的CSS1规范中显示为正确语法的示例:
Cascading Style Sheets, level 1
但它没有在CSS2规范中作为示例显示:
Cascading Style Sheets, Level 2
至少我找不到它的一个例子。 CSS2中的语法规则是否已更改,或者只是将其推断为正确的语法?
答案 0 :(得分:3)
该语法是正确的,但由于几个原因,该示例可能已更改。
首先,通过对类的描述来命名类并不是最佳实践。在.reddish h1
的情况下,示例CSS显示它将显示为红色。但是,如果在以后的设计更改中,h1
实际上应该是蓝色,那么
.reddish h1 { color: blue; }
没什么意义。您应该根据页面上的功能或目的命名您的类,而不是它们应该表示的样式。
其次,建议不要使用关键字作为颜色,因为您收到的颜色取决于浏览器的解释。相反,对于“红色”,你应该使用十六进制代码'#ff0000'在所有浏览器中获得准确的颜色。 (红色可能不是这里最好的例子,但那里有一些奇怪的颜色关键词。)
虽然这些都不是那么糟糕,但它们都可以说明为什么示例在规范中发生了变化。
答案 1 :(得分:1)
你应该用小写字母(h1,而不是H1)来写元素。