CSS(Cascading Style Sheets)选择器是用于选择文档中特定元素的模式。在前端开发过程中,CSS选择器是非常重要的一个部分,因为它们决定了如何样式化我们的网页。在本篇文章中,我们将详细介绍各种CSS选择器及其用法。
一、基本选择器
通配符选择器 * 表示匹配所有的元素。它并不是一个常用的选择器,因为它会匹配到文档中每一个元素,而无法精确控制样式。
*{
margin:0;
padding:0;
}
元素选择器是CSS中最基本的选择器,它可以选择文档中所有指定元素。
p {
color: red;
}
类选择器使用一个点(.)作为前缀,后面跟着一个名称,用于选择一个或多个带有相同类名的元素。
.className {
font-size: 16px;
}
ID选择器使用井号(#)作为前缀,后面跟着一个名称,用于选择一个具有给定ID的唯一元素。
#myId {
background-color: blue;
}
二、组合选择器
后代选择器使用空格来指定一个元素的后代元素。例如,选择所有 div 元素下的 p 元素:
div p {
color: blue;
}
子元素选择器使用大于号(>)来指定一个元素的子元素。例如,选择父元素下的直接子元素:
parent > child {
color: green;
}
相邻兄弟选择器使用加号(+)来选择紧接在另一个元素之后的元素。例如,选择紧跟在 p 元素之后的第一个 div 元素:
p + div {
color: yellow;
}
通用兄弟选择器使用波浪号(~)来选择所有在另一个元素之后的元素。例如,选择所有与 p 元素具有相同父元素的 div 元素:
p ~ div {
color: pink;
}
三、属性选择器
属性选择器通过元素的属性名和属性值来选择元素。例如,根据 title 属性选择所有元素:
[title] {
color: blue;
}
属性选择器也可以根据属性值的匹配来选择元素。例如,选择所有 title 属性值为 "example" 的元素:
[title="example"] {
color: green;
}
属性值前缀匹配选择器,可以选择属性值以某个字符串开始的元素。例如,选择所有 title 属性值以 "begin" 开头的元素:
[title^="begin"] {
color: blue;
}
属性值后缀匹配选择器,可以选择属性值以某个字符串结尾的元素。例如,选择所有 title 属性值以 "end" 结尾的元素:
[title$="end"] {
color: red;
}
四、伪类选择器
:hover 伪类选择器用于当用户鼠标悬停在元素上时改变元素的样式。例如:
a:hover {
color: purple;
}
:active 伪类选择器用于当用户激活(按下)一个元素时改变元素的样式。例如:
button:active {
background-color: gray;
}
:visited 伪类选择器用于选择已经访问过的链接元素。例如:
a:visited {
color: gray;
}
:focus 伪类选择器用于选择当前获得焦点的元素。例如:
input:focus {
border: 2px solid blue;
}
五、伪元素选择器
::before 伪元素选择器用于在元素的内容之前插入新内容。例如:
p::before {
content: "hello";
}
::after 伪元素选择器用于在元素的内容之后插入新内容。例如:
p::after {
content: "world";
}
以上是常用的CSS选择器,当然还有很多其他的CSS选择器,包括属性筛选器、结构性伪类、UI状态伪类等等。熟练运用这些选择器能够提高样式编写效率,同时也更好地组织和调整网页中的元素和样式。