最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于CSS制作創(chuàng)意端午節(jié)專屬加載特效

  發(fā)布時(shí)間:2022-05-31 15:32:02   作者:jsmask   我要評(píng)論
本文給大家分享的是一個(gè)css創(chuàng)意特效端午加載動(dòng)畫,想法是讓粽葉,糯米,紅棗繞圓旋轉(zhuǎn),然后聚集起來(lái)融合后變成一個(gè)可愛的小粽子的效果,對(duì)css加載特效實(shí)現(xiàn)代碼感興趣的朋友一起看看吧

介紹

本期將帶給大家的是一個(gè)css創(chuàng)意特效——端午加載動(dòng)畫,想法是讓粽葉,糯米,紅棗繞圓旋轉(zhuǎn),然后聚集起來(lái)融合后變成一個(gè)可愛的小粽子的效果。繼續(xù)閱讀你將會(huì)得到圖像外發(fā)光效果,濾鏡效果,動(dòng)畫樣式控制等知識(shí)。還等什么呢?趕緊抓緊學(xué)習(xí),抓緊使用,不然就要等明年了~

演示

點(diǎn)擊查看效果演示

正文

挑選素材

本次我們分別會(huì)用到粽葉,糯米,紅棗,粽子4個(gè)素材,最簡(jiǎn)單快捷的辦法就是從confont官網(wǎng)上去挑選,然后直接拷貝的svg代碼粘貼到我們的項(xiàng)目中。

發(fā)光效果

因?yàn)榭紤]到素材中有糯米,其顏色偏白,故使用了黑色背景來(lái)使其更加醒目,同時(shí)為了不讓其生硬,所以這里用css給其增加了外發(fā)光效果。代碼非常簡(jiǎn)單只使用 filter: drop-shadow() 就可以做到,該方法是css將陰影效果應(yīng)用于輸入圖像。這樣圖像就可以非常簡(jiǎn)單的實(shí)現(xiàn)外發(fā)光的效果,但缺點(diǎn)也很非常致命,因?yàn)樗粫?huì)在 Chrome v.85.0.4183.121 以后才得到支持,要求的版本也算比較高了,當(dāng)然如果瀏覽器不支持也不會(huì)產(chǎn)生負(fù)面影響的。

.loading-item{
    filter: drop-shadow(0px 0px 8px rgba(252, 233, 124,.8))
}

聚集動(dòng)畫

在這時(shí)候我們就要開始來(lái)寫動(dòng)畫了,但在此之前,我們先定義好,動(dòng)畫的執(zhí)行周期,和延遲時(shí)間。這樣后面所有的動(dòng)畫都會(huì)使用到這兩個(gè)值,后期就隨時(shí)調(diào)整他們的參數(shù),使之感覺上最佳。

$duration:4.2s;  // 執(zhí)行周期
$delay:-$duration/2; // 延遲時(shí)間

這個(gè)主動(dòng)畫有兩部分組成,第一大部分是旋轉(zhuǎn)他們,我直接把三樣素材都放到了 div.loading-assets 容器中,然后對(duì)這個(gè)容器進(jìn)行360度的旋轉(zhuǎn)即可。

.loading-assets{
    width: 100%;
    height: 100%;
    animation: rotate $duration infinite;
    animation-delay: $delay;
}
@keyframes rotate{
    0%,60%{
        transform: rotate(0deg);
    }
    80%,100%{
        transform: rotate(360deg);
    }
}

然后就通過(guò)scss的 for語(yǔ)法 對(duì)這三個(gè)素材進(jìn)行遍歷,依次給他們附上三個(gè)不同的動(dòng)畫,每個(gè)動(dòng)畫就是根據(jù)其位置,然后更改方位,因?yàn)閷懥私^對(duì)定位都在中心點(diǎn)固定者,所以在其方向的偏移也不難計(jì)算。

.loading-item{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -30px 0 0 -30px;
    filter: drop-shadow(0px 0px 8px rgba(252, 233, 124,.8));
    @for $i from 1 through 3 { 
        &:nth-child(#{$i}) {
            animation: #{'item-move-'+$i} $duration infinite;
            animation-delay: $delay;
        }
    }
}
@keyframes item-move-1 {
    0%,20%,100%{transform: translate(0,0) scale(1)}
    40% {transform: translate(0,-18px) scale(.7)}
    60% {transform: translate(0,-85px) scale(.7)}
    80% {transform: translate(0,-85px) scale(.7)}
}

@keyframes item-move-2 {
    0%,20%,100%{transform: translate(0,0) scale(1)}
    40% {transform: translate(-16px, 12px) scale(.7)}
    60% {transform: translate(-90px, 65px) scale(.7)}
    80% {transform: translate(-90px, 65px) scale(.7)}
}

@keyframes item-move-3 {
    0%,20%,100%{transform: translate(0,0) scale(1)}
    40% {transform: translate(16px, 12px) scale(.7)}
    60% {transform: translate(90px, 65px) scale(.7)}
    80% {transform: translate(90px, 65px) scale(.7)}
}

融合效果

因?yàn)閯偛诺娜N素材聚集起來(lái)然后合成粽子的話,會(huì)感覺有些生硬,所以就要做出一個(gè)在感官上三種素材發(fā)生融合的效果。這里,我們用到了 svg的濾鏡效果:

.loading-item{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -30px 0 0 -30px;
    filter: drop-shadow(0px 0px 8px rgba(252, 233, 124,.8));
    @for $i from 1 through 3 { 
        &:nth-child(#{$i}) {
            animation: #{'item-move-'+$i} $duration infinite;
            animation-delay: $delay;
        }
    }
}
@keyframes item-move-1 {
    0%,20%,100%{transform: translate(0,0) scale(1)}
    40% {transform: translate(0,-18px) scale(.7)}
    60% {transform: translate(0,-85px) scale(.7)}
    80% {transform: translate(0,-85px) scale(.7)}
}

@keyframes item-move-2 {
    0%,20%,100%{transform: translate(0,0) scale(1)}
    40% {transform: translate(-16px, 12px) scale(.7)}
    60% {transform: translate(-90px, 65px) scale(.7)}
    80% {transform: translate(-90px, 65px) scale(.7)}
}

@keyframes item-move-3 {
    0%,20%,100%{transform: translate(0,0) scale(1)}
    40% {transform: translate(16px, 12px) scale(.7)}
    60% {transform: translate(90px, 65px) scale(.7)}
    80% {transform: translate(90px, 65px) scale(.7)}
}

其中, feGaussianBlur 標(biāo)簽的目的是為了對(duì)輸入圖像進(jìn)行高斯模糊,而 feColorMatrix 則是通過(guò)轉(zhuǎn)換矩陣來(lái)對(duì)色值進(jìn)行變換。

接下來(lái),我們?cè)趧?chuàng)建一個(gè) mix動(dòng)畫 在其需要融合的關(guān)鍵位置 通過(guò) filter屬性 引入剛才做濾鏡效果,這一階段就大功告成了 。

.loading-assets{
    width: 100%;
    height: 100%;
    animation: rotate $duration infinite,
        mix $duration infinite;
    animation-delay: $delay;
}

@keyframes mix{
    0%,40%{
      filter: url(#mix);
      opacity: 1;
    }
    8%,36%{
      opacity: 0;
    }
    48%,80%{
      filter: none;
      opacity: 1;
    }
    100%{
       filter: url(#mix);
       opacity: 1;
    }
}

粽子出現(xiàn)

最后一步也是最簡(jiǎn)單的一步就是把可愛的小粽子對(duì)應(yīng)起剛才融合后的空隙那段時(shí)間顯示出來(lái)。

.loading-result{
    width: 50px;
    height: 50px;
    left: 50%;
    top: 50%;
    position: absolute;
    margin-left: -25px;
    margin-top: -25px;
    animation: show $duration infinite;
    animation-delay: $delay;
    filter: drop-shadow(0px 0px 8px rgba(252, 233, 124,.5))
}

@keyframes show{
    0%,48%,100%{
      opacity: 0;
      transform:scale(1);
    }
    8%,36%{
      opacity: 1;
      transform:scale(1.5);
    }
}

當(dāng)然,上面的代碼我們可以發(fā)現(xiàn),在 show動(dòng)畫 中,粽子顯示的時(shí)候放大了1.5倍,目的是為了突出粽子完成合成操作的效果。還有畢竟三樣素材累加后肯定體積會(huì)變大的。

結(jié)語(yǔ)

粽粽情深,端午呈祥,醞釀了良多祝福,代替不了那句最樸實(shí)的祝福——端午節(jié)幸福安康!!

到此這篇關(guān)于基于CSS制作創(chuàng)意端午節(jié)專屬加載特效的文章就介紹到這了,更多相關(guān)css加載特效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • CSS心形加載的動(dòng)畫源碼的實(shí)現(xiàn)

    這篇文章主要介紹了CSS心形加載的動(dòng)畫源碼的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)
    2020-08-10
  • CSS動(dòng)態(tài)條形加載條效果的示例代碼

    這篇文章主要介紹了CSS動(dòng)態(tài)條形加載條效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-07
  • 實(shí)現(xiàn)點(diǎn)擊按鈕后CSS加載效果的實(shí)現(xiàn)

    這篇文章主要介紹了實(shí)現(xiàn)點(diǎn)擊按鈕后CSS加載效果的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)
    2019-05-09
  • css加載會(huì)造成阻塞嗎

    可能大家都知道,js執(zhí)行會(huì)阻塞DOM樹的解析和渲染,那么css加載會(huì)阻塞DOM樹的解析和渲染嗎?下面就跟隨小編一起來(lái)了解一下
    2019-02-13
  • CSS 的加載及加載順序簡(jiǎn)介

    這篇文章主要給大家介紹CSS 的加載及加載順序以及遇到的問(wèn)題思路解析,文中還給大家補(bǔ)充介紹了關(guān)于html,css,js三者的加載順序問(wèn)題,需要的朋友參考下吧
    2017-12-25

最新評(píng)論

濮阳市| 德令哈市| 贵溪市| 石首市| 贡嘎县| 邹平县| 花莲县| 隆子县| 彰武县| 会同县| 丰台区| 双流县| 星子县| 忻城县| 元朗区| 响水县| 苍山县| 精河县| 大丰市| 佛冈县| 五家渠市| 奉贤区| 安宁市| 尼勒克县| 永泰县| 广昌县| 桐柏县| 宣汉县| 石嘴山市| 武邑县| 拜泉县| 青冈县| 肥东县| 社旗县| 光泽县| 大余县| 绍兴县| 青岛市| 大同县| 朝阳区| 安西县|