:required 表示任意 <input> 元素表示任意拥有required属性的 <input> 或 <textarea> 元素使用它. 它允许表单在提交之前容易的展示必填字段并且渲染其外观。举例:
元素相关伪类
:empty 代表没有子元素的元素。子元素只可以是元素节点或文本(包括空格)。注释或处理指令都不会产生影响。举例:
默认样式为粉色背景,如果为:empty则显示绿色,empty表示没有任何字符,有空格也会显示粉色
:first-child 表示在一组兄弟元素中的第一个元素。举例:
这是p的第二个元素
:first-of-type表示一组兄弟元素中其类型的第一个元素。举例:
这是p的第一个元素
这是p的第二个元素
:lang()基于元素语言来匹配页面元素。举例:
This English quote has a nested
quote inside.
This French quote has a nested
quote inside.
:last-child 代表父元素的最后一个子元素。举例:
这是p的第二个元素
:last-of-type表示了在(它父元素的)子元素列表中,最后一个给定类型的元素。举例:
这是p的第一个元素
这是p的第二个元素
:not() 用来匹配不符合一组选择器的元素。由于它的作用是防止特定的元素被选中,它也被称为反选伪类(negation pseudo-class)。举例:
这是span一
这是标记mark
这是span二
:nth-child(an+b) 首先找到所有当前元素的兄弟元素,然后按照位置先后顺序从1开始排序,选择的结果为CSS伪类:nth-child括号中表达式(an+b)匹配到的元素集合(n=0,1,2,3...)。举例:
:nth-last-child(an+b) 从兄弟节点中从后往前匹配处于某些位置的元素,这个伪类和 :nth-child 基本一致, 但它是从结尾计数, 而不是从开始计数。举例:
:nth-of-type(an+b) 针对具有一组兄弟节点的标签, 用 n 来筛选出在一组兄弟节点的位置。举例:
:nth-last-of-type(an+b) 匹配那些在它之后有 an+b-1 个相同类型兄弟节点的元素,其中 n 为正值或零值。它基本上和 :nth-of-type 一样,只是它从结尾处反序计数,而不是从开头处。举例:
:only-child 匹配没有任何兄弟元素的元素,等效的选择器还可以写成 :first-child:last-child或者:nth-child(1):nth-last-child(1),当然,前者的权重会低一点。举例:
这段不参与计数。
这是第一段。
这是第二个mark
:only-of-type 代表了任意一个元素,这个元素没有其他相同类型的兄弟元素。举例:
这是第一段div。
这是第二段p
这是第一个mark。
这是第二个mark
这是第三段p。第一个i标签
:root 匹配文档树的根元素。对于 HTML 来说,:root 表示 <html> 元素,除了优先级更高之外,与 html 选择器相同。举例:
:target 代表一个唯一的页面元素(目标元素),其id 与当前URL片段匹配。举例:
回页面顶端
伪元素示例
::after用来创建一个伪元素,作为已选中元素的最后一个子元素。通常会配合content属性来为该元素添加装饰内容。这个虚拟元素默认是行内元素。举例:
这里是有趣的文字!
::before 创建一个伪元素,其将成为匹配选中的元素的第一个子元素。常通过 content 属性来为一个元素添加修饰性的内容。此元素默认为行内元素。举例:
要在这段文字之前插入一段文字。
::first-line 在某 block-level element (块级元素)的第一行应用样式。第一行的长度取决于很多因素,包括元素宽度,文档宽度和文本的文字大小。举例:
Lorem ipsum dolor sit amet,
consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore.
::first-letter会选中某 block-level element(块级元素)第一行的第一个字母,并且文字所处的行之前没有其他内容(如图片和内联的表格)。举例:
仰望窗外,从昼到夜,由黑变白。
前线牵万户,扼腕流泪;
数据揪心,坐卧徘徊。