本篇文章给大家带来的内容是关于如何使用纯css实现冰棍的动画效果(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
效果预览

源代码下载
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 dom,容器中包含 2 个元素:
居中显示:
立即学习“前端免费学习笔记(深入)”;
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: darkslategray;}
绘制出冰棍的外形:
.flavors { width: 19em; height: 26em; font-size: 10px; border-radius: 8em 8em 1em 1em;}
给冰棍上色:
.flavors { position: relative; overflow: hidden;}.flavors::before { content: ''; position: absolute; width: 140%; height: 120%; background: linear-gradient( hotpink 0%, hotpink 25%, deepskyblue 25%, deepskyblue 50%, gold 50%, gold 75%, lightgreen 75%, lightgreen 100%); z-index: -1; left: -20%; transform: rotate(-25deg);}
来一点光照效果:
.flavors::after { content: ''; position: absolute; width: 2em; height: 17em; background-color: rgba(255, 255, 255, 0.5); left: 2em; bottom: 2em; border-radius: 1em;}
画出冰棍筷子:
.stick { position: relative; width: 6em; height: 8em; background-color: sandybrown; left: calc(50% - 6em / 2); border-radius: 0 0 3em 3em;}
给冰棍筷子加一点阴影,增加立体感:
.stick::after { content: ''; position: absolute; width: inherit; height: 2.5em; background-color: sienna;}
让冰棍的色彩滚动起来:
.flavors::before { animation: moving 100s linear infinite;}@keyframes moving { to { background-position: 0 1000vh; }}
最后,增加交互效果,当鼠标悬停时才播放动画:
.flavors::before { animation-play-state: paused;}.ice-lolly:hover .flavors::before { animation-play-state: running;}
大功告成!
相关推荐:
如何使用纯CSS实现带有金属光泽的立体按钮的动画效果(附源码)
如何使用纯CSS实现文字断开的动画效果(附源码)
如何使用CSS实现渐变色动画边框的效果(附代码)
以上就是如何使用纯CSS实现冰棍的动画效果(附代码)的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1611268.html
微信扫一扫
支付宝扫一扫