這篇文章主要為大家展示了“怎么用純CSS實現菱形loader效果”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么用純CSS實現菱形loader效果”這篇文章吧。
代碼解讀
定義dom,一個容器中包含9個子元素:
<divclass="loader">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
居中顯示:
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);
}
以豎向的小菱形為單位,為小菱形塊上色:
.loaderspan{
background-color:var(--c);
}
.loaderspan:nth-child(7){
--c:tomato;
}
.loaderspan:nth-child(4),
.loaderspan:nth-child(8){
--c:gold;
}
.loaderspan:nth-child(1),
.loaderspan:nth-child(5),
.loaderspan:nth-child(9){
--c:limegreen;
}
.loaderspan:nth-child(2),
.loaderspan:nth-child(6){
--c:dodgerblue;
}
.loaderspan:nth-child(3){
--c:mediumpurple;
}
定義動畫效果:
.loaderspan{
animation:blinking2slinearinfinite;
animation-delay:var(--d);
transform:scale(0);
}
@keyframesblinking{
0%,100%{
transform:scale(0);
}
40%,80%{
transform:scale(1);
}
}
最后,為小菱形設置時延,增強動感:
.loaderspan:nth-child(7){
--d:0s;
}
.loaderspan:nth-child(4),
.loaderspan:nth-child(8){
--d:0.2s;
}
.loaderspan:nth-child(1),
.loaderspan:nth-child(5),
.loaderspan:nth-child(9){
--d:0.4s;
}
.loaderspan:nth-child(2),
.loaderspan:nth-child(6){
--d:0.6s;
}
.loaderspan:nth-child(3){
--d:0.8s;
}
以上是“怎么用純CSS實現菱形loader效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。