如何使用CSS實現單元素點陣loader的效果

來源:互聯網
上載者:User
這篇文章主要介紹了關於如何使用CSS實現單元素點陣loader的效果,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

原始碼下載

每日前端實戰系列的全部原始碼請從 github 下載:

https://github.com/comehope/front-end-daily-challenges

代碼解讀

定義 dom,只有 1 個元素:

<p class="loader"></p>

置中顯示:

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background: radial-gradient(darkgreen 30%, forestgreen);}

定義容器尺寸:

.loader {    width: 10em;    height: 10em;    font-size: 20px;}

用 box-shadow 畫出 2 組點陣:

.loader::before,.loader::after {    content: '';    position: absolute;    width: 1em;    height: 1em;    background-color: currentColor;    box-shadow:        0 0, 2em 0, 4em 0, 6em 0,        0 2em, 2em 2em, 4em 2em, 6em 2em,        0 4em, 2em 4em, 4em 4em, 6em 4em,        0 6em, 2em 6em, 4em 6em, 6em 6em;    border-radius: 50%;}.loader::before {    color: gold;}.loader::after {    color: dodgerblue;}

定義動畫:

@keyframes round {    0% {        transform: translateX(0) translateY(0);    }    25% {        transform: translateX(3em) translateY(0);    }    50% {        transform: translateX(3em) translateY(3em);    }    75% {        transform: translateX(0) translateY(3em);    }}

最後,把動畫效果應用到點陣上:

.loader::before,.loader::after {    animation: round 2s ease infinite;}.loader::after {    animation-delay: -1s;}

大功告成!

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.