从青铜到王者,10个css3伪类使用技巧和运用-创新互联

伪类经常与伪元素混淆,伪元素的效果类似于通过添加一个实际的元素才能达到,而伪类的效果类似于通过添加一个实际的类来达到。实际上css3为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。伪类与伪元素的本质区别就是是否抽象创造了新元素。具体的伪类和伪元素相关知识本文就不深入,下面介绍一下从青铜到王者10个css3伪类使用技巧和运用。

创新互联是一家专业提供泽州企业网站建设,专注与成都网站建设、成都网站设计成都h5网站建设、小程序制作等业务。10年已为泽州众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

青铜-1、伪类实现盒子阴影

众所周知,Animate/transition box-shadow 可以使用 box-shadow属性 来实现盒子阴影效果,但repaint消耗较多,于是这里提出 通过修改伪元素的透明度来实现盒子阴影

实现原理:

**通过改变透明度,这样从一个非默认值更新它的值,就不需要承担任何重绘

这里设置一个空的伪元素设置阴影透明度为0隐藏,再通过鼠标悬停恢复它的透明度,下面是传统和伪类实现的代码对比


    

Before

    

Animate/transition box-shadow 可以使用box-shadow属性来实现盒子阴影效果,但重绘消耗较多

      

After

    

通过修改伪元素的透明度来实现同样的效果,没有重绘消耗

.before {
    padding: 1em;
    background-color: #fff;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}
.before:hover {
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
.after {
    position: relative;
    padding: 1em;
    background-color: #fff;
}
.after:before {
    content: "";
    position: absolute;  
    top: 0;
    right: 0;
    bottom: 0;  
    left: 0;
    z-index: -1;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
    opacity: 0;
    will-change: opacity;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}
.after:hover:before {
    opacity: 1;
}
从青铜到王者,10个css3伪类使用技巧和运用

标题名称:从青铜到王者,10个css3伪类使用技巧和运用-创新互联
文章路径:http://azwzsj.com/article/doggii.html

其他资讯