摘要:效果预览按下右侧的点击预览按钮在当前页面预览,点击链接全屏预览。可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
效果预览
按下右侧的“点击预览”按钮在当前页面预览,点击链接全屏预览。
https://codepen.io/zhang-ou/pen/vjLQMM
可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
请用 chrome, safari, edge 打开观看。
https://scrimba.com/c/cJMkwH9
源代码下载请从 github 下载。
https://github.com/comehope/front-end-daily-challenges/tree/master/002-rectangular-rotating-loader-animation
代码解读定义 dom,一个包含 3 个 span 的容器:
居中显示:
html, body { height: 100%; display: flex; align-items: center; justify-content: center; background-color: black; }
设置容器的尺寸:
.loader { width: 150px; height: 150px; position: relative; }
设置矩形的边框样式:
.loader span { position: absolute; box-sizing: border-box; border: 10px solid dimgray; border-radius: 2px; }
设置 3 个矩形的尺寸:
.loader span:nth-child(1) { width: 100%; height: 100%; } .loader span:nth-child(2) { width: 70%; height: 70%; margin: 15%; } .loader span:nth-child(3) { width: 40%; height: 40%; margin: 30%; }
用伪元素绘制左上和右下的装饰条:
.loader span::before, .loader span::after { content: ""; position: absolute; width: 10px; height: 50%; background-color: gold; } .loader span::before { top: -10px; left: -10px; } .loader span::after { bottom: -10px; right: -10px; }
定义动画效果:
@keyframes rotating { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }
把动画应用到 3 个矩形上:
.loader span { animation: rotating linear infinite; } .loader span:nth-child(1) { animation-duration: 4s; } .loader span:nth-child(2) { animation-duration: 2s; } .loader span:nth-child(3) { animation-duration: 1s; }
最后,设置一下 3 个矩形的堆叠顺序:
.loader span:nth-child(1) { z-index: 3; } .loader span:nth-child(2) { z-index: 2; } .loader span:nth-child(3) { z-index: 1; }
大功告成!
知识点@keyframes https://developer.mozilla.org/en-US/docs/Web/CSS/@keyframes
animation-duration https://developer.mozilla.org/en-US/docs/Web/CSS/animation-duration
rotateY https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/rotateY
nth-child https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child
z-index https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
::before https://developer.mozilla.org/en-US/docs/Web/CSS/::before
::after https://developer.mozilla.org/en-US/docs/Web/CSS/::after
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/113144.html
摘要:效果预览按下右侧的点击预览按钮在当前页面预览,点击链接全屏预览。可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。 showImg(https://segmentfault.com/img/bVbcWRc?w=500&h=500); 效果预览 按下右侧的点击预览按钮在当前页面预览,点击链接全屏预览。 https://codepen.io/zhang-ou/pen/...
摘要:过往项目年月份项目汇总共个项目年月份发布的项目前端每日实战专栏每天分解一个前端项目,用视频记录编码过程,再配合详细的代码解读,是学习前端开发的活的参考书频演示如何用纯创作一种按钮被瞄准的交互特效视频演示如何用纯创作一个同心圆弧旋转特效视频演 过往项目 2018 年 4 月份项目汇总(共 8 个项目) 2018 年 5 月份发布的项目 《前端每日实战》专栏每天分解一个前端项目,用视频记录...
摘要:过往项目年月份项目汇总共个项目年月份发布的项目前端每日实战专栏每天分解一个前端项目,用视频记录编码过程,再配合详细的代码解读,是学习前端开发的活的参考书频演示如何用纯创作一种按钮被瞄准的交互特效视频演示如何用纯创作一个同心圆弧旋转特效视频演 过往项目 2018 年 4 月份项目汇总(共 8 个项目) 2018 年 5 月份发布的项目 《前端每日实战》专栏每天分解一个前端项目,用视频记录...
阅读 1260·2021-10-08 10:04
阅读 1845·2021-09-04 16:40
阅读 2506·2019-08-30 13:21
阅读 2243·2019-08-29 15:10
阅读 2803·2019-08-29 12:35
阅读 1154·2019-08-26 17:41
阅读 3035·2019-08-26 17:03
阅读 1092·2019-08-26 12:01