CSS Loading 設(shè)計(二)

這是 CSS Loading 設(shè)計的第二篇文章担败,其實很多內(nèi)容都包含在第一篇中,所以這篇文章中對屬性的介紹也會相對少些,如果碰到不明白的屬性鼠渺,請參考上一篇文章中的內(nèi)容。
CSS Loading 設(shè)計(一)

Loading one

Paste_Image.png

這樣看起來沒有任何動畫效果眷细,如果在這里展示我還要用屏幕錄制視屏拦盹,然后轉(zhuǎn)化為圖片,感覺太過于麻煩溪椎,不知道有沒有什么簡便的方法普舆,如果有,請教教我校读。好了沼侣,下面我們看看這個動畫效果該怎么做,首先還是來看看 Html 代碼

  <div class="box">
        <div class="loader">
            <i></i>
            <i></i>
            <i></i>
      </div>
  </div>

可見歉秫,這指示兩個 Div 標簽的嵌套蛾洛,十分的簡單,下面就看看 CSS 代碼

    .box {
        width: 100%;
        padding: 3%;
    }

    .loader {
        width: 30%;
        height: 200px;
        margin: 50px auto;
        border: 1px solid chocolate;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    .loader i {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background-color: #333333;
        position: absolute;
        opacity:0;

    }

可見雁芙,這些代碼和第一篇文章中的幾乎一模一樣轧膘,其實不止是這個效果,接下來的三個效果也都是這么設(shè)計的却特,唯一不同的地方就是動畫的設(shè)計不同扶供。

    @-webkit-keyframes loading {
        0%{
            transform: scale(0);
            opacity: 0;
        }
        5%{
            opacity: 1;
        }
        100%{
            transform: scale(1);
            opacity:0;
        }
    }

下面我來解釋一下這個動畫到底是什么意思。
1. 0% : 這個時候?qū)⑽覀儺嫷膱A形縮放為 0%裂明,透明度也是 0
2. 5% : 這個時候?qū)⑼该鞫仍O(shè)置為 1 椿浓,也就是圖形是出于可見的狀態(tài)太援,
但是這個時候圖形已經(jīng)被縮放為 0,所以還是什么東西都看不到扳碍。
3. 100% : 注意在 100 % 的狀態(tài)下提岔,圖形被縮放為原始狀態(tài),但是透明度為0笋敞,這說明了什么碱蒙?
這說明在 5% - 100% 過程中,圖形逐漸出現(xiàn)夯巷,但是透明度逐漸降低赛惩,這樣就會出現(xiàn)一個動畫效果。

好了趁餐,既然動畫效果已經(jīng)定義好了喷兼,那就去給我們的 i 標簽設(shè)置吧。

    .loader i:nth-child(1){
        -webkit-animation: loading 1s linear 0s infinite;
    }
    .loader i:nth-child(2){
        -webkit-animation: loading 1s linear 0.2s infinite;
    }
    .loader i:nth-child(3){
        -webkit-animation: loading 1s linear 0.4s infinite;
    }

好了后雷,到這里第一個動畫效果就出現(xiàn)了季惯。建議親自實踐一下,看一下具體的效果臀突,個人感覺這個動畫還是挺好看的勉抓。

Loading two

Paste_Image.png

說實話,這是本人最喜歡的一個動畫效果候学,十分有趣藕筋。看 Html 代碼

<div class="box">
    <div class="loader">
        <div class="loader-child">
            <i></i>
            <i></i>
        </div>
    </div>
</div>

這里的 CSS 代碼和上面就有一點差異了梳码,下面我來分析一下

    .box {
        width: 100%;
        padding: 3%;
    }

    .loader {
        width: 30%;
        height: 200px;
        margin: 50px auto;
        border: 1px solid chocolate;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .loader-child {
        width: 40px;
        height: 40px;
        position: relative;
    }

    .loader-child i {
        display: block;
        border: 2px solid #333333;
        border-color: transparent #333333; 
        border-radius: 50%;
        position: absolute;
    }

    .loader-child i:first-child {
        width: 35px;
        height: 35px;
        top: 0;
        left: 0;
        -webkit-animation: loading 1s ease-in-out 0s infinite;
    }

    .loader-child i:last-child {
        width: 15px;
        height: 15px;
        top: 10px;
        left: 10px;
        -webkit-animation: loading 1s ease-in-out 0.5s infinite reverse;
    }

可見在第四個塊中有這么一行代碼 border-color: transparent #333333; 本來我們設(shè)定的是畫一個圓形念逞,由于我們需要的并不是一個圓形,設(shè)置了這行屬性之后边翁,就會每隔 1/4 個圓弧變換顏色屬性,也就是透明和 #333333 進行變化硕盹,就達到了我們想要的圖形效果符匾。

還有,我們針對每個 i 標簽設(shè)置了 top,left 屬性瘩例,這兩個屬性需要配合 position 進行使用啊胶,具體怎么使用我們也在上一篇文章做了介紹,設(shè)置了這么兩個屬性之后垛贤,達到的效果就是一個大圓包含一個小圓焰坪,也就是圖片中的效果。

注意看 last-child 動畫效果聘惦,我們在末尾加上了一個 reverse, 意思就是逆時針執(zhí)行某饰。

好了,下面我們來看看動畫

    @-webkit-keyframes loading {

        0% {
            transform: rotate(0deg) scale(1);
        }
        50% {
            transform: rotate(180deg) scale(0.6);
        }
        100% {
            transform: rotate(360deg) scale(1);
        }
    }

動畫是怎么樣一個效果,結(jié)合我上面對動畫的執(zhí)行分析黔漂,你可能就已經(jīng)能模擬出這個動畫的效果了诫尽,是的,非常炫酷的一個效果炬守。

Loading three

Paste_Image.png

這個動畫我感覺非常的難牧嫉,由于我接觸 CSS 也才幾天光景,很多屬性的設(shè)置我都不明所以然减途,一直在網(wǎng)上搜尋各種資料酣藻,直到現(xiàn)在理解的也不是很透徹,下面就將我所掌握的分享一下鳍置,至于那些我也不太清楚地屬性辽剧,還希望各路大仙教教我。還是老樣子墓捻,先來看看 HTML 代碼

<div class="box">
    <div class="loader">
        <div class="loader-child">
            <i></i>
            <i></i>
            <i></i>
            <i></i>
            <i></i>
        </div>
    </div>
</div>

可以很明顯的看到抖仅,這里多包涵了一層 div 標簽,主要是為了配合 position 屬性的使用砖第。

    .box{
        width: 100%;
        padding: 3%;
    }

    .loader{
        width:30%;
        height: 200px;
        border: 1px solid chocolate;
        box-sizing: border-box;
        margin: 50px auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .loader-child{
        width: 80px;
        height: 20px;
        position: relative;
    }

    .loader-child i{
        display: block;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: #333333;
        margin-right: 10px;
        position: absolute;
    }

這個時候我們雖然有 5 個 i 標簽撤卢,但是卻只能看到一個圓形,不是預(yù)期的 5 個梧兼,這是這么回事放吩?我也不太清楚。

下面來看看動畫效果

    @-webkit-keyframes loading {
        0%{
            left: 100px;
            top: 0;
        }
        80%{
            left:0;
            top:0;
        }
        85%{
            left:0px;
            top:-20px;
            width: 20px;
            height: 20px;
        }
        90%{
            width: 40px;
            height: 20px;
        }
        95%{
            left: 100px;
            top: -20px;
            width: 20px;
            height: 20px;
        }
        100%{
            left: 100px;
            top:0;
        }
    }

1. 0% - 80% : 圖形從距離父元素左邊距為 100 px 的位置移動到 0 px羽杰,上邊距不變渡紫,也就是水平移動。
2. 80% - 85% : 圖形的左邊距不變考赛,但是上移 20 px惕澎,而且圖形的寬高設(shè)置為 20px
3. 85% - 90% :  圖形的位置不變化,但是此時圖形的寬拓寬到 40px
4. 90% - 95% : 圖形開始向右移動颜骤,移動100 px并且將寬復(fù)原為 20px
5. 95% - 100% : 圖形回到起始位置唧喉。

下面就是對每個元素設(shè)置動畫效果

    .loader-child i:nth-child(1){
        -webkit-animation: loading 2s linear 0s infinite;
    }
    .loader-child i:nth-child(2){
        -webkit-animation: loading 2s linear -0.4s infinite;
    }
    .loader-child i:nth-child(3){
        -webkit-animation: loading 2s linear -0.8s infinite;
    }
    .loader-child i:nth-child(4){
        -webkit-animation: loading 2s linear -1.2s infinite;
    }
    .loader-child i:nth-child(5){
        -webkit-animation: loading 2s linear -1.6s infinite;
    }

好了,就講到這里忍抽,歡迎反饋八孝,互相學習。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸠项,一起剝皮案震驚了整個濱河市干跛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌祟绊,老刑警劉巖楼入,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哥捕,死亡現(xiàn)場離奇詭異,居然都是意外死亡浅辙,警方通過查閱死者的電腦和手機扭弧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來记舆,“玉大人鸽捻,你說我怎么就攤上這事≡笕” “怎么了御蒲?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诊赊。 經(jīng)常有香客問我厚满,道長,這世上最難降的妖魔是什么碧磅? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任碘箍,我火速辦了婚禮,結(jié)果婚禮上鲸郊,老公的妹妹穿的比我還像新娘丰榴。我一直安慰自己,他們只是感情好秆撮,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布四濒。 她就那樣靜靜地躺著,像睡著了一般职辨。 火紅的嫁衣襯著肌膚如雪盗蟆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天舒裤,我揣著相機與錄音喳资,去河邊找鬼。 笑死腾供,一個胖子當著我的面吹牛骨饿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播台腥,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绒北!你這毒婦竟也來了黎侈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤闷游,失蹤者是張志新(化名)和其女友劉穎峻汉,沒想到半個月后贴汪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡休吠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年扳埂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘤礁。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡阳懂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柜思,到底是詐尸還是另有隱情岩调,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布赡盘,位于F島的核電站号枕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏陨享。R本人自食惡果不足惜葱淳,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抛姑。 院中可真熱鬧赞厕,春花似錦、人聲如沸途戒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喷斋。三九已至唁毒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間星爪,已是汗流浹背浆西。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留顽腾,地道東北人近零。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像抄肖,于是被迫代替她去往敵國和親久信。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容