css选择器

CSS选择器
1.常用选择器
1.1 通用选择器
将匹配文档的所有元素
1 | *{ |
1.2 元素选择器
按照给定的节点名称,选择所有匹配的元素
1 | div{ |
1.3 类选择器
选择所有拥有给定类名的元素
1 | .box{ |
1.4 ID选择器
按照 id 属性选择一个与之匹配的元素。需要注意的是,一个文档中,每个 ID 属性都应当是唯一的。
1 | #box{ |
1.5 属性选择器
按照给定的属性和属性值,选择所有匹配的元素。
1 | /* 选择所有具有 `type` 属性的元素 */ |
1.6 伪类选择器
CSS伪类是用来添加一些选择器的特殊效果。
基本语法
1 | selector:pseudo-class {property:value;} |
1 | a:link {color:#FF0000;} /* 未访问的链接 */ |
伪类和css配合使用
1 | a.red:visited {color:#FF0000;} |
匹配第一个p元素
1 | p:first-child |
1.7 伪元素选择器
CSS 伪元素是一种特殊的选择器,它可以在不改变 HTML 结构的情况下对页面元素的特定部分进行样式设置。
- 基本语法
1 | selector::pseudo-element { |
- ::after
在所选元素的内容之后插入内容。
1 | p::after { |
- ::before
在所选元素的内容之前插入内容。
1
2
3p::before {
content: "这是在段落之前插入的内容 - ";
}
2.选择器组合
2.1分组选择器
选择器分组是指使用逗号分隔的多个选择器,它们具有相同的样式规则。
1 | /**p标签和span标签字体颜色都为红色 */ |
2.2组合器
2.2.1 后代选择器
“ ”(空格)组合器选择前一个元素的后代节点。
1 | /**选择p标签中所有span标签 */ |
2.2.2 直接子代选择器
“>” 组合器选择前一个元素的直接子代的节点。
1 | /**选择div标签中所有span标签 */ |
2.2.3 相邻兄弟选择器
“+” 组合器选择前一个元素的直接相邻兄弟节点。
1 | div + p{ |
2.2.4 通用兄弟选择器
“~” 组合器选择前一个元素的所有兄弟节点。
1 | p ~ span { |
3.选择器优先级
第一等级:代表内联样式,如style=””,权值为 1000
第二等级:代表id选择器,如#content,权值为100
第三等级:代表类,伪类和属性选择器,如.content,权值为10
第四等级:代表标签选择器和伪元素选择器,如div p,权值为1
注意:通用选择器(*),子选择器(>),和相邻同胞选择器(+)并不在这个等级中,所以他们的权值为0