如何用纯 CSS 创作在文本前后穿梭的边框
效果预览
按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。
https://codepen.io/comehope/pen/qYepNv
可交互视频教程
此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
请用 chrome, safari, edge 打开观看。
https://scrimba.com/p/pEgDAM/cQ73Vt8
源代码下载
每日前端实战系列的全部源代码请从 github 下载:
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 dom,容器中包含文本:
<div class="warning">ERROR 404</div>
居中显示:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: rgb(20%, 20%, 20%); }
定义文字样式:
.warning { color: whitesmoke; font-size: 100px; font-family: sans-serif; font-weight: bold; }
用伪元素定义边框尺寸:
.warning { position: relative; padding: 0.6em 0.4em; } .warning::before, .warning::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0.2em solid; box-sizing: border-box; }
把边框分为两部分,拼在一起:
.warning::before, .warning::after { border: 0.2em solid transparent; color: orangered; } .warning::before { border-top-color: currentColor; border-right-color: currentColor; } .warning::after { border-bottom-color: currentColor; border-left-color: currentColor; }
把上边框和右边框下沉一层:
.warning::before { z-index: -1; }
为下边框和在边框加上阴影:
.warning::after { box-shadow: 0.3em 0.3em 0.3em rgba(20%, 20%, 20%, 0.8); }
最后,让边框转起来:
.warning::before, .warning::after { animation: rotating 10s infinite; } @keyframes rotating { to { transform: rotate(360deg); } }
大功告成!
原文地址:https://segmentfault.com/a/1190000015045700
相关推荐
-
如何用 CSS 和 D3 创作一个用文字组成的心形图案 特效实现
2018-12-8
-
如何用纯 CSS 创作一个飞机舷窗风格的 toggle 控件 特效实现
2018-12-11
-
使用css实现三角符号 特效实现
2018-10-22
-
Canvas 绘制粒子动画背景 特效实现
2017-12-12
-
原生js做h5小游戏之打砖块 特效实现
2018-1-2
-
如何用纯 CSS 创作一个表达怀念童年心情的条纹彩虹心特效 特效实现
2018-11-22
-
如何用纯 CSS 创作一个圆环旋转错觉动画 特效实现
2018-12-9
-
如何创作用纯 CSS 绘制一支栩栩如生的铅笔 特效实现
2018-11-22
-
一步步实现nest粒子特效 特效实现
2017-12-20
-
完美实现一个“回到顶部” 特效实现
2018-10-30