CSS2中的上下文选择器

时间:2008-11-20 00:17:21

标签: css syntax css-selectors

我想知道为什么要在特定类中设置元素样式,如下所示:

.reddish H1 { color: red }

在上下文选择器下的CSS1规范中显示为正确语法的示例:

Cascading Style Sheets, level 1

但它没有在CSS2规范中作为示例显示:

Cascading Style Sheets, Level 2

至少我找不到它的一个例子。 CSS2中的语法规则是否已更改,或者只是将其推断为正确的语法?

2 个答案:

答案 0 :(得分:3)

该语法是正确的,但由于几个原因,该示例可能已更改。

首先,通过对类的描述来命名类并不是最佳实践。在.reddish h1的情况下,示例CSS显示它将显示为红色。但是,如果在以后的设计更改中,h1实际上应该是蓝色,那么

.reddish h1 { color: blue; }

没什么意义。您应该根据页面上的功能或目的命名您的类,而不是它们应该表示的样式。

其次,建议不要使用关键字作为颜色,因为您收到的颜色取决于浏览器的解释。相反,对于“红色”,你应该使用十六进制代码'#ff0000'在所有浏览器中获得准确的颜色。 (红色可能不是这里最好的例子,但那里有一些奇怪的颜色关键词。)

虽然这些都不是那么糟糕,但它们都可以说明为什么示例在规范中发生了变化。

答案 1 :(得分:1)

你应该用小写字母(h1,而不是H1)来写元素。