CSS3中的伪元素和伪类可以让我们向某些选择器添加特殊的效果。伪元素使用::开头,而伪类使用:开头。
- 伪元素 ::before 和 ::after
伪元素 "::before" 和 "::after" 创建一个元素,这个元素在内容之前或之后插入。这两个伪元素是行内元素。
div::before {
content: "开始";
}
div::after {
content: "结束";
}
- 伪类 :first-child, :last-child, :nth-child()
伪类 ":first-child", ":last-child", ":nth-child()" 选择器用于选择指定的元素。
p:first-child {
color: blue;
}
p:last-child {
color: red;
}
p:nth-child(2) {
color: green;
}
- 伪类 :first-letter, :first-line
伪类 ":first-letter", ":first-line" 选择器用于选定文本的首字母或首行。
p:first-letter {
font-size: 200%;
}
p:first-line {
font-weight: bold;
}
- 伪类 :link, :visited, :hover, :active
伪类 ":link", ":visited", ":hover", ":active" 选择器用于设置超链接的状态样式。
a:link {
color: blue;
}
a:visited {
color: purple;
}
a:hover {
color: red;
}
a:active {
color: yellow;
}
- 伪类 :focus
伪类 ":focus" 选择器用于选择获得焦点的元素。
input:focus {
background-color: yellow;
}
- 伪类 :checked, :disabled, :empty
伪类 ":checked", ":disabled", ":empty" 选择器用于选择特定状态的元素。
input:checked {
background-color: green;
}
input:disabled {
background-color: gray;
}
p:empty {
display: none;
}
- 伪类 :not()
伪类 ":not()" 选择器用于选择不符合条件的元素。
p:not(.exclude) {
color: red;
}
- 伪类 :target
伪类 ":target" 选择器用于选择当前的目标元素。
#target {
color: red;
}
- 伪类 :lang()
伪类 ":lang()" 选择器用于选择具有特定语言的元素。
p:lang(en) {
color: blue;
}
- 伪类 :root
伪类 ":root" 选择器用于选择根元素。
:root {
background-color: yellow;
}
- 伪类 :nth-child(), :nth-last-child(), :nth-of-type(), :nth-last-of-type()
伪类 ":nth-child()", ":nth-last-child()", ":nth-of-type()", ":nth-last-of-type()" 选择器用于选择特定位置的元素。
p:nth-child(2) {
color: red;
}
p:nth-last-child(2) {
color: blue;
}
p:nth-of-type(even) {
color: green;
}
p:nth-last-of-type(odd) {
color: purple;
}
- 伪类 :only-child, :only-of-