超能陸戰隊之大白的製作過程
阿新 • • 發佈:2020-07-04
效果圖如下:
友情提示:本篇文章只是用來熟練掌握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