伪类和伪元素

208 阅读1分钟

是什么:

  • 伪类(一个冒号隔开)像类选择器一样给已存在某个元素添加额外的样式;
  • 伪元素(两个冒号隔开)则是给自己虚拟的元素添加样式;

为什么:

伪元素选择器可以帮助我们利用css创建标签元素,而不用html,减少了html的结构复杂性。(结构永远比样式更重要!)

怎么做:

常用的伪类:

hover指当鼠标移动到元素上时触发某种样式;
:hover

active指鼠标按下时的某种样式;
:active

:first-child 
:last-child 
:nth-child(n/odd/even)

常用伪元素:

其中before或者after内的content属性一定要设置,可以设置为空,否则不会显示;其次,设置了依然没有显示就要设置表明这个伪元素块级元素。

前面(before)添加元素
::before{
    content:'';
    display: inline-block;
    width: 10px;
    height:10px;
    background: #ffab00;
    border-radius:50%;
}

后面(after)添加元素
::after

伪元素虽然是不存在于DOM树种的元素,但是也是可以添加内容的,就是上面提到的content属性。content属性可以是URL、字符串甚至是图片,视频等。

div::before{
    content: '';
    display: block;
    width: 100px;
    height: 100px;
    background:url('a.png')
    background-size:cover;
}