溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用CSS畫一個(gè)皮卡丘

發(fā)布時(shí)間:2020-06-18 09:08:14 來(lái)源:億速云 閱讀:580 作者:Leah 欄目:web開發(fā)

如何用CSS畫一個(gè)皮卡丘?相信很多新手小白還沒學(xué)會(huì)這個(gè)技能,通過這篇文章的總結(jié),希望你能學(xué)會(huì)這個(gè)技能。以下資料是實(shí)現(xiàn)的步驟。

前言

當(dāng)我學(xué)完css和js后,冒出來(lái)一個(gè)想法。自己去實(shí)現(xiàn)一個(gè)可愛的卡通人物。于是我就去codepen找素材,最終選擇了皮卡丘,如下圖。

如何用CSS畫一個(gè)皮卡丘

準(zhǔn)備工作

在開始寫皮卡丘之前,我先觀察了皮卡丘的整個(gè)頁(yè)面。發(fā)現(xiàn)如果要很好的實(shí)現(xiàn)這個(gè)皮卡丘你不能像寫傳統(tǒng)網(wǎng)頁(yè)那樣從左到右布局,而是要從中間布局,因?yàn)樽笥覂蛇厡?duì)稱。理清楚了思路之后現(xiàn)在開始編寫頁(yè)面結(jié)構(gòu)。

    <p class="skin">
        <p class="eye left"></p>
        <p class="eye right"></p>
        <p class="nose">
            <p class="yuan"></p>
        </p>
        <p class="mouth ">
            <p class="up">
                <p class="lip left"></p>
                <p class="lip right"></p>
            </p>
            <p class="down">
                <p class="yuan1">
                    <p class="yuan2"></p>
                </p>
            </p>
        </p>
        <p class="mouth "></p>
        <p class="face left">
            <img src="src/img/flash.gif" alt="flash">
        </p>
        <p class="face right">
            <img src="src/img/flash.gif" alt="flash">
        </p>
    </p>

頁(yè)面結(jié)構(gòu)如上圖所示,當(dāng)我們編寫完html結(jié)構(gòu),就可以動(dòng)手去寫css。

CSS的實(shí)現(xiàn)

在這個(gè)地方我們可以暫時(shí)先停一下,再次理清思路。這個(gè)皮卡丘的最難點(diǎn)的部分在哪里?在于皮卡丘嘴巴上的弧線以及下面橢圓形的舌頭。

在實(shí)現(xiàn)皮卡丘嘴巴上的弧線時(shí),我產(chǎn)生了兩個(gè)想法。第一用一個(gè)標(biāo)簽包裹實(shí)現(xiàn)這個(gè)弧線,第二分別用兩個(gè)標(biāo)簽去包裹實(shí)現(xiàn)這兩個(gè)弧線。最終我選擇了第二種。在這里我觀察皮卡丘嘴巴上的弧線發(fā)現(xiàn)這個(gè)弧線就是圓角矩形的四分之一,加上旋轉(zhuǎn)就可以實(shí)現(xiàn)這兩個(gè)弧線。

如何用CSS畫一個(gè)皮卡丘

具體實(shí)現(xiàn)如下

.mouth .up {    position: relative;    top: -20px;    z-index: 1;
}.mouth .up .lip {    border: 3px solid black;    height: 30px;    width: 100px;    background: #ffe600;    border-top-color: transparent;    border-right-color: transparent;    position: relative;    position: absolute;    left: 50%;    margin-left: -50px;
}.mouth .up .lip.left {    border-radius: 0 0 0 35px;    transform: rotate(-20deg) translateX(-53px);
}.mouth .up .lip.right {    border-radius: 0 0 35px 0;    transform: rotate(20deg) translateX(53px);
}.mouth .up .lip::before {    content: '';    display: block;    width: 7px;    height: 30px;    position: absolute;    bottom: 0;    background: #ffe600;
}.mouth .up .lip.left::before {    right: -6px;
}.mouth .up .lip.right::before {    left:  -6px;
}

第一個(gè)大難點(diǎn)已經(jīng)解決,接下來(lái)解決第二個(gè)難點(diǎn)。如何實(shí)現(xiàn)皮卡丘的下嘴唇。

觀察皮卡丘的舌頭我發(fā)現(xiàn)這實(shí)際上是一個(gè)橢圓的一部分或者圓角矩形的一部分,那我就需要截取一部分的橢圓或者圓角矩形就能實(shí)現(xiàn)皮卡丘的舌頭。第二個(gè)解決點(diǎn)怎么實(shí)現(xiàn)皮卡丘舌頭粉色的部分,有了上面的思路之后,沿著這個(gè)思路繼續(xù)想,實(shí)際上這就是兩個(gè)圓角矩形或者橢圓形的交界處實(shí)現(xiàn)的。

如何用CSS畫一個(gè)皮卡丘

畫的不是太好各位客官見諒了。

具體的代碼的實(shí)現(xiàn)如下

.mouth .down {    height: 180px;    position: absolute;    top: 5px;    width: 100%;    overflow: hidden;
}.mouth .down .yuan1 {    border: 3px solid black;    width: 150px;    height: 1000px;    position: absolute;    bottom: 0;    left: 50%;    margin-left: -75px;    border-radius: 75px/300px;    background: #9b000a;    overflow: hidden;
}.mouth .down .yuan1 .yuan2 {    width: 200px;    height: 300px;    background: #ff485f;    position: absolute;    bottom: -160px;    left: 50%;    margin-left: -100px;    border-radius: 100px;
}

這兩個(gè)難點(diǎn)解決了差不多就完成了整個(gè)皮卡丘的一半,剩下的就可以自己去完成了。

上文描述的就是用CSS畫一個(gè)皮卡丘的方法,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過才能領(lǐng)會(huì)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI