1. 程式人生 > >超能陸戰隊之大白的製作過程

超能陸戰隊之大白的製作過程

效果圖如下:

          

 

友情提示:本篇文章只是用來熟練掌握css樣式和佈局能力,空閒時間不妨敲一遍,增加一些體驗,我也不算白敲一遍。。

 

是不是有點心動呢?接下來請看具體步驟:

  首先先把HTML部分先寫完,做出整體的結構:

  <div class="baymax">
        <!-- 定義頭部 眼睛、嘴巴 -->
        <div class="head">
            <div class="eye"></div>
            <div class="eye2"></div>
            <div class="mouth"></div>
        </div>
        <!-- 定義軀幹 -->
        <div class="torso">
            <div class="heart"></div>
        </div>

        <!-- 定義肚子腹部 -->
        <div class="belly">
            <div class="cover"></div>
        </div>
        <!-- 定義左臂 包括一大一小兩個手指 -->
        <div class="left_arm">
            <div class="l_bigFinger"></div>
            <div class="l_smallFinger"></div>
        </div>
        <!-- 定義右臂 包括一大一小兩個手指 -->
        <div class="right_arm">
            <div class="r_bigFinger"></div>
            <div class="r_smallFinger"></div>
        </div>
        <!-- 定義左腿 -->
        <div class="left_leg"></div>
        <!-- 定義右腿 -->
        <div class="right_leg"></div>
    </div>

為了是效果更加明顯,我們把最外面的盒子背景設為灰色,並且讓整個盒子居中:

body {
    background: #595959;
}

.baymax {
    margin: 0 auto;
    height: 600px;
}

如圖:

  這一步就不如圖了吧。。

 

 然後再寫具體的css樣式,先寫頭部樣式:

.head {
    width: 100px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    margin: 0 auto;
    margin-bottom: -20px;
}

.eye, .eye2 {
    width: 11px;
    height: 13px;
    background: #282828;
    border-radius: 50%;
    position: relative;
    top: 30px;
    left: 27px;
    /* 旋轉改元素 */
    transform: rotate(8deg);
}

.eye2 {
    /* 使旋轉對稱 */
    transform: rotate(-8deg);
    left: 69px;
    top: 17px;
}
.mouth{
    width:38px;
    height:1.5px;
    background:#282828;
    position:relative;
    left:34px;
    top:10px;
}

看圖:

 

我們已經實現了一個頭部,是不是有點樣子了呢,哈哈,我們繼續

接下來是它的一個軀幹和腹部:

.torso,.belly{
    margin:0 auto;
    height:200px;
    width:180px;
    background:#fff;
    border-radius:47%;
    /* 設定邊框 */
    border-radius:5px solid #e0e0e0;
    border-top:none;
    z-index: 1;
}
.belly{
    height:300px;
    width:245px;
    margin-top:-140px;
    z-index: 5;
}
.cover{
    width:190px;
    height:150px;
    background:#fff;
    margin:0 auto;
    position:relative;
    top:-20px;
    border-radius:50%;
}

就會是這樣一個效果:

 

 

 是不是還得來一顆小心臟呢?安排

.heart{
    width:25px;
    height:25px;
    border-radius:50%;
    position:relative;
    top:40px;
    right:-115px;
}
.heart::before,.heart::after{
    content:"";
    width:20px;
    height:40px;
    background:red;
    position:absolute;
    z-index:10;
    border-radius: 50px 50px 0px 0px;
}
.heart::after{
    left:14px;
    transform: rotate(45deg);
}
.heart::before{
    transform:rotate(-45deg);
    box-shadow: -5px -5px 10px gray;
}

心臟也出來啦!

 

 

 然後就該做手臂了

.left_arm,.right_arm{
    width:120px;
    height:270px;
    border-radius:50%;
    background:#fff;
    margin:0 auto;
    position:relative;
    top:-350px;
    left:-100px;
    transform: rotate(20deg);
}
.right_arm{
    transform: rotate(-20deg);
    left:100px;
    top:-620px;
}
.l_bigFinger,.r_bigFinger{
    width:20px;
    height:50px;
    border-radius: 50%;
    background:#fff;
    position: relative;
    top:250px;
    left:50px;
    transform:rotate(-50deg);
}
.r_bigFinger{
    left:50px;
    transform: rotate(50deg);
}
.l_smallFinger,.r_smallFinger{
    width:15px;
    height:35px;
    border-radius:50%;
    background:#fff;
    position:relative;
    top:195px;
    left:66px;
    transform: rotate(-40deg);
}
.r_smallFinger{
    transform:rotate(40deg);
    top:195px;
    left:37px;
}

小爪子也出來啦!!

 

 

 

 那最後一步就是它的leg了~~

.left_leg,.right_leg{
    width:90px;
    height:170px;
    border-radius:40% 30% 10px 45%;
    background:#fff;
    position: relative;
    top:-640px;
    left:-45px;
    margin:0 auto;
    transform: rotate(-1deg);
}
.right_leg{
    background:#fff;
    border-radius:30% 40% 45% 10px;
    margin:0 auto;
    top:-810px;
    left:50px;
    transform:rotate(1deg);
}

 

 

 

好了,一隻完整的大白已經站在你面前了!

如果想讓它眨眼睛的話,可以這樣

 

 @keyframes blink {
        40% {
            transform: rotateX(80deg);
        }
    }
//回到眼睛樣式
.eye, .eye2 {
    width: 11px;
    height: 13px;
    background: #282828;
    border-radius: 50%;
    position: relative;
    top: 30px;
    left: 27px;
    /* 旋轉改元素 */
    transform: rotate(8deg);
  /* 在這裡加一個動畫效果  */
    /* 新增動畫使眼睛動起來 可設定時間 */
    animation:blink 2s ease-in-out infinite alternate;
}


今天的分享會就到這兒了,拜拜~~

&n