怎么使用纯CSS实现菱形loader效果
怎么使用纯CSS实现菱形loader效果?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
创新互联公司主营淮安区网站建设的网络公司,主营网站建设方案,成都app软件开发,淮安区h5重庆小程序开发公司搭建,淮安区网站营销推广欢迎淮安区等地区企业咨询
效果预览
源代码下载
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 dom,一个容器中包含 9 个子元素:
居中显示:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: black; }
定义容器和子元素尺寸,是一个大正方形里包含 9 个小正方形:
.loader { width: 10em; height: 10em; display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.5em; }
把图案调整为大菱形中包含 9 个小菱形:
.loader { transform: rotate(45deg); }
以竖向的小菱形为单位,为小菱形块上色:
.loader span { background-color: var(--c); } .loader span:nth-child(7) { --c: tomato; } .loader span:nth-child(4), .loader span:nth-child(8) { --c: gold; } .loader span:nth-child(1), .loader span:nth-child(5), .loader span:nth-child(9) { --c: limegreen; } .loader span:nth-child(2), .loader span:nth-child(6) { --c: dodgerblue; } .loader span:nth-child(3) { --c: mediumpurple; }
定义动画效果:
.loader span { animation: blinking 2s linear infinite; animation-delay: var(--d); transform: scale(0); } @keyframes blinking { 0%, 100% { transform: scale(0); } 40%, 80% { transform: scale(1); } }
最后,为小菱形设置时延,增强动感:
.loader span:nth-child(7) { --d: 0s; } .loader span:nth-child(4), .loader span:nth-child(8) { --d: 0.2s; } .loader span:nth-child(1), .loader span:nth-child(5), .loader span:nth-child(9) { --d: 0.4s; } .loader span:nth-child(2), .loader span:nth-child(6) { --d: 0.6s; } .loader span:nth-child(3) { --d: 0.8s; }
感谢各位的阅读!看完上述内容,你们对怎么使用纯CSS实现菱形loader效果大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。
网站栏目:怎么使用纯CSS实现菱形loader效果
地址分享:http://lswzjz.com/article/jjjpcj.html