这篇文章给大家分享的是有关使用纯CSS实现冰棍动画效果的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
创新互联从2013年开始,公司自成立以来始终致力于为企业提供官网建设、移动互联网业务开发(小程序开发、手机网站建设、重庆APP开发公司等),并且包含互联网基础服务(域名、主机服务、企业邮箱、网络营销等)应用服务;以先进完善的建站体系及不断开拓创新的精神理念,帮助企业客户实现互联网业务,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞誉。
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实现冰棍动画效果的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!