什么是选择器?
css选择器是css规则的一部分,它是元素和其他部分组合起来告诉浏览器哪个HTML元素应当被选为应用规则中的CSS属性值的方式。选择器所选择的元素。叫做“选择器对象”。
css中,选择器由于CSS选择器规范加以定义,就像是CSS其他部分那样,他们需要浏览器的支持才能工作。你会遇到大多数的选择器规范都是在CSS3中定义的。这是一个成熟的规范,因此大多数浏览器对这些选择器都有良好的支持。
选择器列表
如果你有多个相同使用相同样式的CSS选择器,那么这些单独的选择器可以混编为选择器列表,这样规则就可以应用到这些单独的选择器上了。
如果我的h1
和.special
类有相同的CSS,那么我可以把它们写成两个分开的规则。
h1 {
color: blue;
}
.special {
color: blue;
}
我可以将他们组合起来,在他们之间加个逗号,变为一个选择器列表。
h1, .special {
color: blue;
}
空格可以在逗号前或后,你可能还会发现如果每个选择器都另起一行,会更好读些。
h1,
.special {
color: blue;
}
当你使用选择器列表时,如果任何一个选择器无效 (存在语法错误),那么整条规则都会被忽略。
在下面的示例中,无效的class选择器会被忽略,而h1选择器仍会被样式化。
h1 {
color: blue;
}
..special {
color: blue;
}
但是在被组合起来以后,整个规则都会失效,无论是h1还是这个class都不会被样式化。
h1, ..special {
color: blue;
}
选择器的种类
类型、类和ID选择器
这个选择器组,第一个是指向了所有HTML元素<h1>
。
h1 { }
它也包含了一个class的选择器:
.box { }
亦或,一个id选择器:
#unique { }
标签属性选择器
这组选择器根据一个元素上的某个标签的属性的存在以选择元素的不同方式:
a[title] { }
或者根据一个有特定值的标签属性是否存在来选择:
a[href="https://example.com"] { }
伪类与伪元素
这组选择器包含了伪类,用来样式化一个元素的特定状态。例如:hover伪类会在鼠标指针悬浮到一个元素上的时候选择这个元素:
a:hover { }
它还可以包含了伪元素,选择一个元素的某个部分而不是元素自己。例如,::first-line
是会选择一个元素(下面的情况中是<p>
)中的第一行,类似<span>
包在了第一个被格式化的行外面,然后选择这个<span>
。
p::first-line { }
运算符
最后一组选择器可以将其他选择器组合起来,更复杂的选择元素。下面的示例用运算符(>
)选择了<article>
元素的初代子元素。
article > p { }
选择器参考表
下面的表格让你可以浏览你可以用的选择器,还有本指南中教你如何使用每种选择器的页面的链接。在你以后需要查询文献中提到的选择器的时候,或者是在你广义上实验CSS的时候。