利用CSS3伪元素实现逐渐发光的方格边框


Posted in HTML / CSS onMay 07, 2017

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

效果图如下:

利用CSS3伪元素实现逐渐发光的方格边框

HTML代码:

<div class="light">
 <img src="http://tva2.sinaimg.cn/crop.0.0.180.180.180/6830a53bjw8f2qo4xzc2zj20500500t0.jpg"/>
 <div class="light-inner">
  <p>前端开发博客</p>
  <p>关注前端开发</p>
 </div>
</div>

CSS代码:

.light{
 background: #fff;
 width: 180px;
 height: 180px;
 margin: 100px auto;
 position: relative;
 text-align: center;
 color: #333;
 transform:translate3d(0,0,0);

}
.light-inner{
 padding: 60px 30px 0;
 pointer-events: none;
 position: absolute;
 left: 0;
 top: 0;
 bottom: 0;
 right: 0;
 text-align: center;
 transition: background 0.35s;
 backface-visibility: hidden;
}
.light-inner:before, .light-inner:after{
 display: block;
 content: "";
 position: absolute;
 left: 30px;
 top: 30px;
 right: 30px;
 bottom: 30px;
 border: 1px solid #fff;
 opacity: 0;
 transition: opacity 0.35s, transform 0.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, transform 0.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(<number>[, <number>]):指定对象的2D scale(2D缩放)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认取第一个参数的值

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。
 

HTML / CSS 相关文章推荐
CSS3使用多列制作瀑布流
May 10 HTML / CSS
CSS3教程:background-clip和background-origin
Oct 17 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
纯css3实现走马灯效果
Dec 26 HTML / CSS
纯CSS3绘制打火机动画火焰效果
Jul 18 HTML / CSS
CSS3自定义滚动条样式的示例代码
Aug 21 HTML / CSS
基于HTML5 Canvas:字符串,路径,背景,图片的详解
May 09 HTML / CSS
html5使用canvas绘制太阳系效果
Dec 15 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
Sep 17 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
Jul 29 HTML / CSS
canvas画图被放大且模糊的解决方法
Aug 11 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
Aug 20 HTML / CSS
CSS3实现内凹圆角的实例代码
May 04 #HTML / CSS
利用HTML5+CSS3实现3D转换效果实例详解
May 02 #HTML / CSS
css3+伪元素实现鼠标移入时下划线向两边展开的效果
Apr 25 #HTML / CSS
CSS3实现自定义Checkbox特效实例代码
Apr 24 #HTML / CSS
深入理解css中vertical-align属性
Apr 18 #HTML / CSS
总结30个CSS3选择器
Apr 13 #HTML / CSS
CSS3模拟动画下拉菜单效果
Apr 12 #HTML / CSS
You might like
php获取地址栏信息的代码
2008/10/08 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
深入理解node.js http模块
2018/01/24 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
浅谈python中get pass用法
2019/03/19 Python
Python的Lambda函数用法详解
2019/09/03 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
iostream与iostream.h的区别
2015/01/16 面试题
金蝶的一道SQL笔试题
2012/12/18 面试题
中专自荐信
2013/10/13 职场文书
老同学聚会感言
2014/02/23 职场文书
初三语文教学计划
2015/01/22 职场文书
公司人事任命通知
2015/04/20 职场文书
Spring中bean集合注入的方法详解
2022/07/07 Java/Android