伪类&伪元素

伪类&伪元素

伪元素和元素的区别

伪元素在html文档渲染后,页面中有相应的内容显示,同时能够设置它的样式,而伪类只能设置样式

常用伪类和伪元素

after-before

*::after/*::before

描述:这一对伪元素,它们允许使用者通过css向html页面中添加内容。

用途:在清除浮动中,用作一个占位元素;字体图标(iconfont)

  • *:link(直接设置连接的样式),
  • *:visited(区别与其他未访问过的样式),
  • *:hover(鼠标移动上去后的样式),
  • *:active(鼠标单击触发时的样式)

描述:这是一组伪类,除了:link 只能作用于a[href]外,其它的适用于任何元素。

focus

*:focus

描述:当元素获得焦点时,该伪类样式起效果。

checked

*:checked

用途:当元素处于选中状态的时候这个伪类起作用。常见的元素是input(type为radio或checkbox)。这种可以表示开关的状态的伪类可以减少对js的使用。

enabled-disabled

*:enabled/*:disabled

描述:该对伪类给元素提供了一个条件,用来设置元素的样式。

用途:该伪类对应元素(input/ button/ textarea/ optgroup / option /fieldset /seelect)内的属性 disabled ,这些元素时html用于与用户进行交互的。

nth-child

*:nth-child(an+b)

描述:根据传入的一个运算公式,选择第几个元素,或者说每个几个元素选择一个。从第一个开始。

nth-last-child

*:nth-last-child(an+b)

描述:根据传入的一个运算公式,选择第几个元素,或者说每个几个元素选择一个。从最后一个开始。

first-child

*:first-child

描述:匹配该伪类所指代的元素的父元素下的第一个子元素

last-child

*:last-child

描述:匹配该伪类所指代的元素的父元素下的最后一个子元素

nth-only-child

*:nth-only-child

描述:匹配该伪类所指代元素的父元素下只有它这么一个元素,该伪类设置的样式起作用。

first-line

*::first-line

描述:该伪元素指代第一行文本。

用途:文章排版。

first-letter

*::first-letter

描述:该伪元素指代元素的第一个字符的样式。

用途:文章排版

root

:root

描述:该伪类就表示html文档中的根元素

注意:如果该伪类选择器和html元素选择器同时出现在页面中,伪类选择器的(权重大)优先级高。

required

*:required

描述:该伪类指代元素中含有required属性的元素,常见的就是form表单中的元素。

用途:表单验证

optional

*:optional

描述:该伪类针对form表单元素, 如:input或select,当它们未设置required属性,它们设置的样式起效果。

placeholder

*:placeholder

描述:改为元素设置显示的 placeholder 属性值的样式

selection

:selection

描述:匹配被用户选中的元素的样式。