css伪类以及伪元素演示

跳转到:target伪类

标签a相关伪类

a:link,a:visited,a:hover,a:active 举例:张员外讲编程

表单相关伪类

:checked 任何处于选中状态的radio(<input type="radio">), checkbox (<input type="checkbox">) 或("select") 元素中的option HTML元素("option")。举例:
:disabled 表示任何被禁用的元素。如果一个元素不能被激活(如选择、点击或接受文本输入)或获取焦点,则该元素处于被禁用状态。举例:
input:disabled
:enabled 表示任何启用的(enabled)元素。如果一个元素能够被激活(如选择、点击或接受文本输入)或获取焦点,则该元素是启用的。举例:
input:enabled
:focus表示获得焦点的元素(如表单输入)。当用户点击或触摸元素或通过键盘的 “tab” 键选择它时会被触发。举例:
input:focus
:invalid 表示任意内容未通过验证的 <input> 或其他 <form> 元素 .举例:
input:invalid
:valid 表示内容验证正确的<input> 或其他 <form> 元素。这能简单地将校验字段展示为一种能让用户辨别出其输入数据的正确性的样式。举例:
input:valid
:required 表示任意 <input> 元素表示任意拥有required属性的 <input> 或 <textarea> 元素使用它. 它允许表单在提交之前容易的展示必填字段并且渲染其外观。举例:
input:required
:optional 表示任意没有required属性的 <input>,<select> 或 <textarea> 元素使用它。举例:
input:optional

元素相关伪类

: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(块级元素)第一行的第一个字母,并且文字所处的行之前没有其他内容(如图片和内联的表格)。举例:
仰望窗外,从昼到夜,由黑变白。 前线牵万户,扼腕流泪; 数据揪心,坐卧徘徊。