本文给大家分享一段css3代码实现鼠标悬停时边框旋转的效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
下面以2017年新年祝福语为例给大家展示下效果。
纯CSS3实现的鼠标悬停时边框旋转的效果:
实现代码如下,代码中注释已经比较详细,就不再多说了:
nbsp;html>Document body { width: 40rem; height: 30rem; font-size: 62.50%; /* 把body的字体设置为10px以方便使用rem时的计算 */ } .container { width: 100%; height: 100%; background: #0f0; text-align: center; } /* 设置content元素的属性 */ /* 此元素的宽和高必须相等,即设置border-radius: 50%;后应该是一个圆 */ /* 使用rem相对于body的字体尺寸设置了宽和高 */ .content { display: inline-block; margin-top: 5rem; width: 20rem; height: 20rem; border: solid 15px rgba(255, 255, 255, 1); /* 此处设置边框,使用rgba的方式是为了后面隐藏时方便,只需要设置a的值为0即可隐藏 */ border-radius: 50%; box-sizing: border-box; /* 使用此属性防止边框撑开盒子,border-box会让边框占用盒子里面的空间 */ transition: all 2s; /* 该元素的所有属性的变化会在2s内完成 */ } /* 使用伪类before设置需要转动的边框 */ /* 因为如果元素边框转动,内容也会跟着转动 */ /* 此处要的效果是只有边框转动而内容不转动 */ .content:before { display: inline-block; width: 100%; height: 100%; border-radius: 50%; box-sizing: border-box; content: ''; } /* 设置鼠标悬停在content元素上时content属性的变化 */ .content:hover { /*border: solid 15px rgba(255, 255, 255, 0);*/ } /* 设置鼠标悬停在content上时content的before伪类属性的变化 */ .content:hover:before { border: dashed 30px #fff; animation: whirl 9s linear infinite; /* 执行动画whirl,执行一次的周期是9s,执行期间的速度曲线为linear,无限循环 */ } /* 设置文本内容显示的样式 */ .con-text { margin: -60% auto; width: 80%; font-size: 3rem; /* 以下三个属性为了让文字超出宽度时显示省略号,必须同时使用才有效果 */ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } /* 动画whirl,从0度旋转到360度 */ @keyframes whirl { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
新年好新年好新年好
登录后复制
立即学习“前端免费学习笔记(深入)”;
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
如何利用CSS3实现3D翻书效果
使用CSS3来实现滚动视差效果
CSS3实现背景透明文字不透明的效果
以上就是利用CSS3制作的鼠标悬停时边框旋转的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2895715.html