CSS 有 4 类 Selector。
Type, class, and ID selectors
h1 { }
.box { }
#unique { }Attribute selectors
a[title] { }
a[href="https://example.com"] { }Pseudo-classes and pseudo-elements
Pseudo-class
Pseudo-class 是用来选择特定状态下的元素,如 a:hover 用来选择鼠标指过去的 <a> 元素。有这几类:
- Dynamic pseudo-classes,如
:hover、:visited - UI element states pseudo-classes,如
:enabled、:disabled、:checked - Structural pseudo-classes,如
:first-child、:nth-child(n) - Other pseudo-classes,如
:not(x)、:target
Pseudo-element
Pseudo-element 可以 创建 新的元素(而无需在 HTML 中指定它),并且可以像正常元素那样操作它。最常见的例子是给链接前后加上小图标:
a.tc-tiddlylink-external::before {
font-family: FontAwesome;
padding-right: 2px;
content: "\f14c";
color: gray;
}但是对于「创建」这个说法,我觉得不是很全面,比如 ::first-line 这种 pseudo-element 看起来像 pseudo-class。
参考:
Combinators
将上面几类结合起来的 selector:
article > p { }