学堂 学堂 学堂公众号手机端

HTML+CSS怎么实现边框渐变发光的效果

lewis 1年前 (2024-04-05) 阅读数 5 #技术
关于“HTML+CSS怎么实现边框渐变发光的效果”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。


本文介绍的是一个使用伪元素来实现边框逐渐发光的代码,主要用到scale和opacity这两个属性。下面来看看详细的介绍:

效果图如下:

HTML代码:

代码如下

前端开发博客

关注前端开发

CSS代码:

代码如下 复制代码

.light{

background:#fff;

width:180px;

height:180px;

margin:100pxauto;

position:relative;

text-align:center;

color:#333;

transform:translate3d(0,0,0);

}

.light-inner{

padding:60px30px0;

pointer-events:none;

position:absolute;

left:0;

top:0;

bottom:0;

right:0;

text-align:center;

transition: background0.35s;

backface-visibility:hidden;

}

.light-inner:before, .light-inner:after{

display:block;

content:"";

position:absolute;

left:30px;

top:30px;

right:30px;

bottom:30px;

border:1pxsolid#fff;

opacity:0;

transition: opacity0.35s, transform0.35s;

}

.light-inner:before{

border-left:0;

border-right:0;

transform:scaleX(0,1);

}

.light-inner:after{

border-top:0;

border-bottom:0;

transform: scaleY(1,0);

}

.light:hover .light-inner{

background:#458fd2

}

.light:hover .light-inner:before, .light:hover .light-inner:after{

opacity:1;

transform: scale3d(1,1,1);

}

.light-inner p{

transition: opacity .35s, transform0.35s;

transform: translate3d(0,20px,0);

color:#fff;

opacity:0;

line-height:30px;

}

.light:hover .light-inner p{

transform: translate3d(0,0,0);

opacity:1;

}

实现步骤:

发光的方格,主要是通过.light-inner的伪元素:before和:after来实现

上下的边框是从中间往两边逐渐展开:scaleX(0)到scaleX(1)

左右的边框是从中间往上下两边展开:scaleY(0)到scaleY(1)

形成了一个四方形从中间向边角逐渐发光的效果:opacity:0到opacity:1。

其它就没什么技巧了。

scale介绍

scale( [, ]):指定对象的2D scale(2D缩放)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认取第一个参数的值

scaleX( ):指定对象X轴的(水平方向)缩放

scaleY( ):指定对象Y轴的(垂直方向)缩放

总结



以上就是关于“HTML+CSS怎么实现边框渐变发光的效果”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门