您好,登录后才能下订单哦!
请求超时!
请点击 重新获取二维码本文小编为大家详细介绍“怎么用纯CSS实现一个圆环旋转错觉的动画效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用纯CSS实现一个圆环旋转错觉的动画效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
效果图:
代码解读
定义dom,容器中包含10个<div>子元素,每个<div>子元素内还有一个<span>子元素:
<figureclass="container">
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
<div><span></span></div>
</figure>
定义容器尺寸:
.container{
width:17em;
height:17em;
font-size:16px;
}
定义子元素的尺寸,和容器相同:
.container{
position:relative;
}
.containerdiv{
position:absolute;
width:inherit;
height:inherit;
}
在子元素的正中画一个黄色的小方块:
.containerdiv{
display:flex;
align-items:center;
justify-content:center;
}
.containerspan{
position:absolute;
width:1em;
height:1em;
background-color:yellow;
}
增加让小方块左右移动的动画效果,动画时长还会在后面用到,所以定义成变量:
.containerspan{
--duration:2s;
animation:movevar(--duration)infinite;
}
@keyframesmove{
0%,100%{
left:calc(10%-0.5em);
}
50%{
left:calc(90%-0.5em);
}
}
用贝赛尔曲线调整动画的时间函数,使小方块看起来就像在左右两侧跳来跳去:
.containerspan{
animation:movevar(--duration)cubic-bezier(0.6,-0.3,0.7,0)infinite;
}
增加小方块变形的动画,使它看起来有下蹲起跳的拟人效果:
.containerspan{
animation:
movevar(--duration)cubic-bezier(0.6,-0.3,0.7,0)infinite,
morphvar(--duration)ease-in-outinfinite;
}
@keyframesmorph{
0%,50%,100%{
transform:scale(0.75,1);
}
25%,75%{
transform:scale(1.5,0.5);
}
}
至此,完成了1个方块的动画。接下来设置多个方块的动画效果。
为子元素定义CSS下标变量:
.containerdiv:nth-child(1){--n:1;}
.containerdiv:nth-child(2){--n:2;}
.containerdiv:nth-child(3){--n:3;}
.containerdiv:nth-child(4){--n:4;}
.containerdiv:nth-child(5){--n:5;}
.containerdiv:nth-child(6){--n:6;}
.containerdiv:nth-child(7){--n:7;}
.containerdiv:nth-child(8){--n:8;}
.containerdiv:nth-child(9){--n:9;}
旋转子元素,使小方块分布均匀地在容器的四周,围合成一个圆形:
.containerp{
transform:rotate(calc(var(--n)*40deg));
}
设置动画延时,现在看起来就像是一群小方块贴着一个圆的内边线在旋转了(但实际上没有任何元素在做旋转运动,大脑感觉到的旋转是一种错觉):
.containerspan{
animation-delay:calc(var(--duration)/9*var(--n)*-1);
}
最后,为小方块上色:
.containerspan{
background-color:hsl(calc(var(--n)*80deg),100%,70%);
}
读到这里,这篇“怎么用纯CSS实现一个圆环旋转错觉的动画效果”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
玻璃钢生产厂家番禺玻璃钢雕塑彩绘招聘信息安阳蔬菜玻璃钢雕塑登封玻璃钢雕塑费用郑州欧式玻璃钢雕塑多少钱平凉玻璃钢植物雕塑制作清远玻璃钢动物雕塑批发营口玻璃钢花盆生产厂家绍兴节庆商场美陈莆田玻璃钢人物雕塑麻城玻璃钢雕塑韶关玻璃钢圆门头雕塑生产玻璃钢卡通雕塑代理商长治玻璃钢海豚雕塑定制玻璃钢仿真马桶雕塑郑州标识玻璃钢景观雕塑成都商场装饰美陈青岛玻璃钢雕塑摆件设计卡通玻璃钢雕塑电话天津玻璃钢商场美陈雕塑杭州玻璃钢花盆市场芦苞园林玻璃钢人物雕塑跟玻璃钢相似的雕塑材质玻璃钢雕塑模具制造在淘宝上玻璃钢雕塑是什么类目舞钢玻璃钢雕塑加工厂家平谷玻璃钢海洋雕塑四川玻璃钢花盆制造阜阳玻璃钢雕塑厂家哪家好高档商场美陈玻璃钢白萝卜雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万