css伪类和伪元素有什么区别?

来自:互联网
时间:2019-11-10
阅读:

伪元素和伪类虽然不是特别常用,但是,很好用,可以帮你省掉很多无用功,效果还好。下面我们来看一下CSS伪类和伪元素的一些介绍。

css伪类

css伪类用于向某些选择器添加特殊的效果。

:link, :visited, :hover, :focus, :active, :first-child, :lang

css3新增的伪类:

:last-child, :only-child, :first-of-type, :last-of-type, :only-of-type, :nth-child(n), :nth-last-child(n), :nth-of-type(n), :nth-last-of-type(n), :root, :empty, :target, :enabled, :disabled, :checked, :not(selector),

css伪元素

css伪元素用于向某些选择器设置特殊效果。

::first-letter, ::first-line, ::before, ::after

css3新增的伪元素

::selection

css伪类和伪元素的区别:

1、为了避免大家混淆伪类和伪元素,css3中的标准规定伪类使用单冒号“:” ,伪元素使用双冒号“::”,但在此之前都使用的单冒号“:”,所以为了保证兼容伪元素两种使用方法都是可以的。

2、伪类可以叠加使用,而伪元素在一个选择器中只能出现一次,并且只能出现在末尾。

.box:first-child:hover { color: #000;}   //使用伪类
.box:first-letter { color: #000;}   //使用伪元素
.box:first-letter:hover { color: #000;}   //错误写法

3、伪类与类优先级相同,伪元素与标签优先级相同。

顺便说一下优先级怎么判断,一般是 !important > 行内样式> ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性。

还有一个简单的计算方法,内联样式表的权值为 1000,ID 选择器的权值为 100,Class 类选择器的权值为 10,HTML 标签选择器的权值为 1,权值实际并不是按十进制计算的,用数字表示只是说明思想。

我们可以把选择器中规则对应做加法,比较权值大小,权值越大优先级越高,如果权值相同前面的样式会被后面的覆盖。

返回顶部
顶部