伪类、伪元素
1、伪元素
::after p::after 在每个 <p> 元素之后插入内容。
::before p::before 在每个 <p> 元素之前插入内容。
::first-letter p::first-letter 选择每个 <p> 元素的首字母。
::first-line p::first-line 选择每个 <p> 元素的首行。
::selection p::selection 选择用户选择的元素部分。
示例如下
p.intro::first-letter {
color: #ff0000;
font-size: 200%;
}
<p class="intro">这是一段简介!</p>
<p>这是一段文字。以及更多的文字。</p>
::before 伪元素 和 ::after 伪元素
h1::before {
//content: url(/i/photo/smile.gif);
content: '文字,哈哈哈';
}
<h1>xxxxxx</h1>
<p>xxxxxxxx</p>
<h1>xxxxxx</h1>
::selection 伪元素(文字选中时候的效果)
::selection {
color: red;
background: yellow;
}
<h1>xxxxxx</h1>
<p>xxxxxxxx</p>
<h1>xxxxxx</h1>
2、伪类
伪类可以与 CSS 类结合使用:
h1.highlight:hover {
color: #ff0000;
}
<h1>xxxxxx</h1>
<h1 class="highlight">xxxxxx</h1>
:nth-child(n) p:nth-child(2) 选择每个父元素的第二个子元素。
:nth-last-child(n) p:nth-last-child(2) 选择每个父元素的第二个子元素,从最后一个子元素开始计数。
:focus input:focus 选择获得焦点的 <input> 元素。
:hover a:hover 选择鼠标指针位于其上的链接。
:not(selector) div:not(header) 选择不是 <p> 元素的每个 <div> 元素。
:active a:active 选择当前活动(鼠标点击)的链接。
:checked input:checked 选择已选中的 <input> 元素。
:disabled input:disabled 选择禁用的 <input> 元素。
:empty p:empty 选择没有子元素的 <p> 元素。
:enabled input:enabled 选择启用的 <input> 元素。
:first-child p:first-child 选择属于父元素的第一个子元素的每个 <p> 元素。
:first-of-type p:first-of-type 选择属于其父元素的第一个 <p> 元素的每个 <p> 元素。
:in-range input:in-range 选择在指定范围内定义的 <input> 元素。
:invalid input:invalid 选择无效的 <input> 元素。
:lang(x) p:lang(it) 选择 lang 属性值以 "it" 开头的 <p> 元素。
:last-child p:last-child 选择属于其父元素的最后一个子元素的每个 <p> 元素。
:last-of-type p:last-of-type 选择属于其父元素的最后一个 <p> 元素的每个 <p> 元素。
:link a:link 选择所有未访问的链接。
:nth-last-of-type(n) p:nth-last-of-type(2) 选择属于其父元素的第二个最后 <p> 元素的每个 <p> 元素。
:nth-of-type(n) p:nth-of-type(2) 选择属于其父元素的第二个 <p> 元素的每个 <p> 元素。
:only-child p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。
:only-of-type p:only-of-type 选择属于其父元素的唯一 <p> 元素的每个 <p> 元素。
:optional input:optional 选择所有没有设置 "required" 属性的 <input> 元素。
:out-of-range input:out-of-range 选择不在指定范围内的 <input> 元素。
:read-only input:read-only 选择所有只读 <input> 元素。
:read-write input:read-write 选择所有可编辑的 <input> 元素。
:required input:required 选择所有设置了 "required" 属性的 <input> 元素。
:root root 选择文档的根元素。
:target #news:target 选择被激活的 HTML <a> 标记。
:valid input:valid 选择所有有效输入。
:visited a:visited 选择所有已访问的链接。