欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

使用純CSS實(shí)現(xiàn)一個(gè)圓環(huán)旋轉(zhuǎn)錯(cuò)覺(jué)的動(dòng)畫(huà)效果

使用純CSS實(shí)現(xiàn)一個(gè)圓環(huán)旋轉(zhuǎn)錯(cuò)覺(jué)的動(dòng)畫(huà)效果?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、伽師ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的伽師網(wǎng)站制作公司

效果預(yù)覽

使用純CSS實(shí)現(xiàn)一個(gè)圓環(huán)旋轉(zhuǎn)錯(cuò)覺(jué)的動(dòng)畫(huà)效果

源代碼下載

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

代碼解讀

定義 dom,容器中包含 10 個(gè) <div> 子元素,每個(gè) <div> 子元素內(nèi)還有一個(gè) <span> 子元素:

<figure class="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;
}

.container div {
    position: absolute;
    width: inherit;
    height: inherit;
}

在子元素的正中畫(huà)一個(gè)黃色的小方塊:

.container div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.container span {
    position: absolute;
    width: 1em;
    height: 1em;
    background-color: yellow;
}

增加讓小方塊左右移動(dòng)的動(dòng)畫(huà)效果,動(dòng)畫(huà)時(shí)長(zhǎng)還會(huì)在后面用到,所以定義成變量:

.container span {
    --duration: 2s;
    animation: move var(--duration) infinite;
}

@keyframes move {
    0%, 100% {
        left: calc(10% - 0.5em);
    }

    50% {
        left: calc(90% - 0.5em);
    }
}

用貝賽爾曲線調(diào)整動(dòng)畫(huà)的時(shí)間函數(shù),使小方塊看起來(lái)就像在左右兩側(cè)跳來(lái)跳去:

.container span {
    animation: move var(--duration) cubic-bezier(0.6, -0.3, 0.7, 0) infinite;
}

增加小方塊變形的動(dòng)畫(huà),使它看起來(lái)有下蹲起跳的擬人效果:

.container span {
    animation: 
        move var(--duration) cubic-bezier(0.6, -0.3, 0.7, 0) infinite,
        morph var(--duration) ease-in-out infinite;
}

@keyframes morph {
    0%, 50%, 100% {
        transform: scale(0.75, 1);
    }

    25%, 75% {
        transform: scale(1.5, 0.5);
    }
}

至此,完成了 1 個(gè)方塊的動(dòng)畫(huà)。接下來(lái)設(shè)置多個(gè)方塊的動(dòng)畫(huà)效果。

為子元素定義 CSS 下標(biāo)變量:

.container div:nth-child(1) { --n: 1; }
.container div:nth-child(2) { --n: 2; }
.container div:nth-child(3) { --n: 3; }
.container div:nth-child(4) { --n: 4; }
.container div:nth-child(5) { --n: 5; }
.container div:nth-child(6) { --n: 6; }
.container div:nth-child(7) { --n: 7; }
.container div:nth-child(8) { --n: 8; }
.container div:nth-child(9) { --n: 9; }

旋轉(zhuǎn)子元素,使小方塊分布均勻地在容器的四周,圍合成一個(gè)圓形:

.container p {
    transform: rotate(calc(var(--n) * 40deg));
}

設(shè)置動(dòng)畫(huà)延時(shí),現(xiàn)在看起來(lái)就像是一群小方塊貼著一個(gè)圓的內(nèi)邊線在旋轉(zhuǎn)了(但實(shí)際上沒(méi)有任何元素在做旋轉(zhuǎn)運(yùn)動(dòng),大腦感覺(jué)到的旋轉(zhuǎn)是一種錯(cuò)覺(jué)):

.container span {
    animation-delay: calc(var(--duration) / 9 * var(--n) * -1);
}

最后,為小方塊上色:

.container span {
    background-color: hsl(calc(var(--n) * 80deg), 100%, 70%);
}

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)使用純CSS實(shí)現(xiàn)一個(gè)圓環(huán)旋轉(zhuǎn)錯(cuò)覺(jué)的動(dòng)畫(huà)效果大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享名稱(chēng):使用純CSS實(shí)現(xiàn)一個(gè)圓環(huán)旋轉(zhuǎn)錯(cuò)覺(jué)的動(dòng)畫(huà)效果
網(wǎng)站網(wǎng)址:http://chinadenli.net/article24/jpcgce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站網(wǎng)站設(shè)計(jì)公司網(wǎng)站導(dǎo)航網(wǎng)站內(nèi)鏈網(wǎng)站建設(shè)網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站