摘要:效果预览按下右侧的点击预览按钮在当前页面预览,点击链接全屏预览。可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
效果预览
按下右侧的“点击预览”按钮在当前页面预览,点击链接全屏预览。
https://codepen.io/zhang-ou/pen/qYqwQp
可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
请用 chrome, safari, edge 打开观看。
https://scrimba.com/c/cp24VfV
源代码下载请从 github 下载。
https://github.com/comehope/front-end-daily-challenges/tree/master/006-blue-dazzling-diamond
代码解读定义 dom,容器中包含一个元素:
居中显示:
html,
body {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
画出第一组刻面的形状:
.diamond {
display: grid;
}
.diamond span {
border-width: 50px;
border-style: solid;
}
为第一组刻面上色,因为后面还要用到这些色值,所以定义了变量:
:root {
--color1: deepskyblue;
--color2: steelblue;
--color3: royalblue;
--color4: dodgerblue;
}
.diamond span {
border-color: var(--color1) var(--color2) var(--color3) var(--color4);
}
dom容器 中再增加3组刻面:
把4组刻面先组成田字格,再转换成钻石形状:
.diamond {
grid-template-columns: 1fr 1fr;
transform: rotate(45deg);
}
.diamond span:first-child {
border-color: transparent var(--color2) var(--color3) transparent;
}
定义动画效果:
@keyframes animate {
0% {
border-color: var(--color1) var(--color2) var(--color3) var(--color4);
}
25% {
border-color: var(--color4) var(--color1) var(--color2) var(--color3);
}
50% {
border-color: var(--color3) var(--color4) var(--color1) var(--color2);
}
75% {
border-color: var(--color2) var(--color3) var(--color4) var(--color1);
}
100% {
border-color: var(--color1) var(--color2) var(--color3) var(--color4);
}
}
最后,把动画效果应用到除第1组以外的刻面上:
.diamond span:not(:first-child) {
animation: animate 2s linear infinite;
}
大功告成!
知识点variables https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables
border-width https://developer.mozilla.org/en-US/docs/Web/CSS/border-width
border-color https://developer.mozilla.org/en-US/docs/Web/CSS/border-color
grid-template-column https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns
rotate() https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/rotate
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/113186.html
摘要:效果预览按下右侧的点击预览按钮在当前页面预览,点击链接全屏预览。可交互视频教程此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。 showImg(https://segmentfault.com/img/bVbbyvw?w=500&h=500); 效果预览 按下右侧的点击预览按钮在当前页面预览,点击链接全屏预览。 https://codepen.io/zhang-ou/pen/...
摘要:前端每日实战专栏每天分解一个前端项目,用视频记录编码过程,再配合详细的代码解读,是学习前端开发的活的参考书以下是年月份发布的项目视频演示如何用纯创作一个按钮文字滑动特效视频演示如何用纯创作一个矩形旋转特效视频演示如何用纯创作一个容器厚条纹边 《前端每日实战》专栏每天分解一个前端项目,用视频记录编码过程,再配合详细的代码解读,是学习前端开发的活的参考书! 以下是 2018 年 4 月份发...
摘要:前端每日实战专栏每天分解一个前端项目,用视频记录编码过程,再配合详细的代码解读,是学习前端开发的活的参考书以下是年月份发布的项目视频演示如何用纯创作一个按钮文字滑动特效视频演示如何用纯创作一个矩形旋转特效视频演示如何用纯创作一个容器厚条纹边 《前端每日实战》专栏每天分解一个前端项目,用视频记录编码过程,再配合详细的代码解读,是学习前端开发的活的参考书! 以下是 2018 年 4 月份发...
阅读 2156·2021-11-24 09:39
阅读 1118·2021-11-11 16:55
阅读 1681·2021-10-09 09:43
阅读 1591·2021-10-08 10:17
阅读 1847·2021-08-25 09:41
阅读 553·2019-08-30 13:02
阅读 755·2019-08-29 15:14
阅读 1153·2019-08-29 13:53