在CSS中,选择器是用来选择需要应用样式规则的HTML元素的。虽然我们经常使用的选择器包括类选择器(.class),ID选择器(#id),元素选择器(p, h1, div等),后代选择器(p a)等,CSS还提供了一些不太常用但非常有用的选择器特性。
- 属性选择器:可以根据元素的属性或属性值选择元素。
/* 选择具有type="text"的所有input元素 */
input[type="text"] {
background-color: yellow;
}
/* 选择href属性存在,且值以http开头的a元素 */
a[href^="http"] {
color: blue;
}
- 结构性伪类选择器:可以根据元素在其父元素中的位置选择元素。
/* 选择每个section的第一个子元素 */
section > :first-child {
font-weight: bold;
}
/* 选择每个div的最后一个子元素 */
div > :last-child {
font-style: italic;
}
- 伪元素选择器:可以选择元素内容的开始和结束。
/* 选择每个p元素内容的第一个字 */
p::first-letter {
font-size: 200%;
}
/* 选择每个p元素内容的最后一个字 */
p::last-letter {
font-style: italic;
}
- 伪类选择器:可以根据元素的状态选择元素,如:hover, :focus, :checked等。
/* 鼠标悬浮在input元素上时 */
input:hover {
background-color: lightblue;
}
/* 输入框获得焦点时 */
input:focus {
border: 2px solid blue;
}
/* 选中复选框时 */
input[type="checkbox"]:checked {
color: red;
}
这些选择器特性可以让你更加灵活地定位和选择HTML元素,应用样式。