本篇文章给大家带来的内容是关于如何使用纯css实现一只纸鹤(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
效果预览
源代码下载
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 dom,容器中包含 6 个元素,分别代表头、颈、身体侧面、翅、尾、胸:
登录后复制
居中显示:
立即学习“前端免费学习笔记(深入)”;
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: dodgerblue;}
登录后复制
定义容器尺寸:
.cranes { width: 52em; height: 50em; font-size: 7px;}
登录后复制
设置纸鹤的颜色为白色:
.cranes { color: white;}
登录后复制
画出头部:
.cranes { position: relative;}.head { border-left: 13em solid transparent; border-right: 6em solid transparent; border-bottom: 2em solid; position: absolute; left: 0; top: 21; transform: rotate(-5deg);}
登录后复制
把以上创建三角形的代码抽象成一个模板,然后数据都改为变量,类似于调用函数的样子:
.cranes span { border-left: calc(var(--left) * 1em) solid transparent; border-right: calc(var(--right) * 1em) solid transparent; border-bottom: calc(var(--bottom) * 1em) solid; position: absolute; transform: rotate(calc(var(--rotation) * 1deg)); left: calc(var(--x) * 1em); top: calc(var(--y) * 1em);}.head { --left: 13; --right: 6; --bottom: 2; --x: 0; --y: 21; --rotation: -5;}
登录后复制
设置透明度,以便元素叠加处有折纸效果:
.cranes span { filter: opacity(0.6);}
登录后复制
接下来就是逐个调用生成三角形的函数创建其他三角形:
颈:
.neck { --left: 6; --right: 6; --bottom: 12; --x: 14; --y: 19; --rotation: 75;}
登录后复制
身体侧面:
.side { --left: 1.5; --right: 11.5; --bottom: 20; --x: 18.8; --y: 15.1; --rotation: 20;}
登录后复制
翅:
.wing { --left: 18.7; --right: 30; --bottom: 8; --x: 6.7; --y: 9.2; --rotation: -41.9;}
登录后复制
尾:
.tail { --left: 18.6; --right: 7.7; --bottom: 3.9; --x: 19.6; --y: 38.1; --rotation: -126.5;}
登录后复制
胸:
.belly { --left: 6.2; --right: 1.8; --bottom: 11.5; --x: 17.5; --y: 27.8; --rotation: -99;}
登录后复制
至此,纸鹤画完。
最后,增加一点交互效果,当鼠标悬停时,由等腰直角三角形变形成鹤:
.cranes:hover span { animation: appear 1s ease-in;}@keyframes appear { from { border-left: 3em solid transparent; border-right: 3em solid transparent; border-bottom: 3em solid; position: absolute; transform: rotate(0deg); left: calc((52em - 3em) / 2); top: calc((50em - 3em) / 2); }}
登录后复制
大功告成!
相关推荐:
如何使用纯CSS实现苹果系统的相册图标(代码)
如何使用纯CSS实现苹果系统的相册图标(代码)
以上就是如何使用纯CSS实现一只纸鹤(附源码)的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2893132.html