CSS3實戰 - 2d轉換 - 我也畫一個哆來A夢耍耍

畫哆來A夢練了練基本功,源碼發上,感興趣的童鞋可以參考,效果如下
這裏寫圖片描述

公用CSS,doraemon.css

    .wrapper {
        margin-top: 100px;
        text-align: center;
    }

    /* 叮噹貓整體 */
    .doraemon {
        padding:50px;
        display: inline-block;
        min-width: 360px;
        position: relative;
    }

    /* 頭部 */
    .doraemon .head {
        height: 300px;
        width: 320px;
        border-radius: 150px;
        background: #07bbee;
        background: linear-gradient( 135deg,#fff 10%, #07bbee 40%, #10a6ce 60%);
        border: 2px solid #555;
        position: relative;
        box-shadow: 5px 7px 10px rgba(0,0,0,0.6);
    }

    /* 眼睛 */
    .doraemon .head .eyes {
        z-index: 15;
        position: absolute;
        width: 152px;
        height: 90px;
        top: 30px;
        left: 50%;
        margin-left: -76px;
    }

    .doraemon .head .eyes .eye {
        background: #fff;
        position: absolute;
        top: 1px;
        width: 72px;
        height: 82px;
        border: 2px solid #000;
        border-radius: 35px;
    }

    .doraemon .head .eyes .eye.left {
        left: 1px;
    }

    .doraemon .head .eyes .eye.right {
        right: 1px;
    }

    /* 眼珠 */
    .doraemon .head .eyes .black {
        position: absolute;
        bottom: 20px;
        height: 18px;
        width: 18px;
        background: #000;
        border-radius: 50%;
    }

    .doraemon .head .eyes .black.bleft {
        right: 1px;
    }

    .doraemon .head .eyes .black.bright {
        left: 1px;
    }

    /* 臉部 face */
    .doraemon .head .face {
        width: 265px;
        height: 195px;
        background: #fff;
        border-radius: 150px;
        position: absolute;
        bottom: 35px;
        left: 50%;
        margin-left: -132px;
        z-index: 5;
    }

    /* 鼻子 z-index:3 */
    .doraemon .head .face .nose {
        position: absolute;
        top: 32px;
        left: 50%;
        margin-left: -20px;
        height: 34px;
        width: 34px;
        background: #c93300;
        border-radius: 50%;
        border: 2px solid #000;
        z-index: 3;
    }

    /* 鼻子上的高光 */
    .doraemon .head .face .nose .light {
        width: 10px;
        height: 10px;
        border-radius: 5px;
        box-shadow: 19px 8px 5px #fff;
    }

    /* 豎直的線 z-index:2 */
    .doraemon .head .face .vertline {
        height: 100px;
        width: 3px;
        background: #333;
        position: absolute;
        top: 60px;
        left: 50%;
        z-index: 2;
        margin-left: -1.5px;
    }

    /* 小嘴 */
    .doraemon .head .face .mouse {
        width: 220px;
        height: 220px;
        position: absolute;
        border-bottom: 3px solid #333;
        bottom: 32px;
        left: 50%;
        margin-left: -110px;
        border-radius: 110px;
    }

    /* 鬍子 */
    .doraemon .whiskers {
        width: 220px;
        height: 80px;
        background: #fff;
        position: absolute;
        top: 40px;
        left: 50%;
        margin-left: -110px;
        z-index: 1;
    }

    /* 鬍鬚 */
    .doraemon .whiskers .whisker {
        width: 60px;
        height: 2px;
        background: #333;
        position: absolute;
    }

    /* 左上鬍子 */
    .doraemon .whiskers .w-l-top {
        top: 15px;
        left: 0px;
    }

    /* 左中胡子 */
    .doraemon .whiskers .w-l-mid {
        top: 35px;
        left: 0px;
    }

    /* 左下鬍子 */
    .doraemon .whiskers .w-l-btm {
        top: 55px;
        left: 0px;
    }

    /* 右上鬍子 */
    .doraemon .whiskers .w-r-top {
        top: 15px;
        right: 0px;
    }

    /* 右中胡子 */
    .doraemon .whiskers .w-r-mid {
        top: 35px;
        right: 0px;
    }

    /* 右下鬍子 */
    .doraemon .whiskers .w-r-btm {
        top: 55px;
        right: 0px;
    }

    /* 鬍子旋轉角度 */
    .doraemon .whiskers .r160 {
        -webkit-transform: rotate(160deg);
        -moz-transform: rotate(160deg);
        -ms-transform: rotate(160deg);
        -o-transform: rotate(160deg);
        transform: rotate(160deg);
    }

    .doraemon .whiskers .r200 {
        -webkit-transform: rotate(200deg);
        -moz-transform: rotate(200deg);
        -ms-transform: rotate(200deg);
        -o-transform: rotate(200deg);
        transform: rotate(200deg);
    }

    .doraemon .whiskers .l160 {
        -webkit-transform: rotate(-160deg);
        -moz-transform: rotate(-160deg);
        -ms-transform: rotate(-160deg);
        -o-transform: rotate(-160deg);
        transform: rotate(-160deg);
    }

    .doraemon .whiskers .l200 {
        -webkit-transform: rotate(-200deg);
        -moz-transform: rotate(-200deg);
        -ms-transform: rotate(-200deg);
        -o-transform: rotate(-200deg);
        transform: rotate(-200deg);
    }

    /* 脖子 */
    .doraemon .neck {
        z-index: 50;
        height: 20px;
        width: 230px;
        background: #c40;
        border-radius: 10px;
        border: 2px solid #333;
        position: relative;
        margin-top: -40px;
        margin-left: 44px;
    }

    /* 脖子上的鈴鐺 */
    .doraemon .neck .bell {
        height: 40px;
        width: 40px;
        background: #f9f12a;
        border-radius: 50%;
        border: 2px solid #000;
        position: absolute;
        left: 50%;
        margin-left: -22px;
        top: 8px;
    }

    /* 鈴鐺線 */
    .doraemon .neck .bell-line {
        height: 2px;
        width: 40px;
        border-top: 2px solid #000;
        border-bottom: 2px solid #000;
        position: absolute;
        left: 0px;
        top: 12px;
    }

    /* 鈴鐺圓洞 */
    .doraemon .neck .bell-circle {
        width: 12px;
        height: 10px;
        background: #000;
        position: absolute;
        border-radius: 50%;
        top: 20px;
        left: 14px;
    }

    /* 鈴鐺豎線 */
    .doraemon .neck .bell-vertline {
        width: 3px;
        height: 10px;
        background: #000;
        position: absolute;
        bottom: 0px;
        left: 50%;
        margin-left: -2px;
    }

    /* 身體 */
    .doraemon .mbodys {
        height: 170px;
        width: 360px;
        position: relative;
    }

    /* 藍色身體背景 */
    .doraemon .mbodys .mbody {
        z-index: 2;
        width: 220px;
        height: 170px;
        background: #07beea;
        background: linear-gradient( 135deg,#07bbee 40%, #10a6ce 60%);
        position: absolute;
        left: 50px;
        top: -5px;
        border: 2px solid #333;
        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
    }

    /* 小圍裙 apron */
    .doraemon .mbodys .apron {
        height: 170px;
        width: 170px;
        background: #fff;
        border: 2px solid #000;
        position: absolute;
        top: -48px;
        left: 75px;
        border-radius: 50%;
        z-index: 3;
    }

    /* pocket 口袋 */
    .doraemon .mbodys .apron .pocket {
        width: 130px;
        height: 100px;
        border: 2px solid #000;
        border-radius: 0 0 100px 100px;
        position: absolute;
        z-index: 4;
        top: 48px;
        left: 18px;
    }

    /* pocket-mask 口袋遮布 z-index: 2; */
    .doraemon .mbodys .apron .pocket-mask {
        height: 60px;
        width: 134px;
        background: #fff;
        border-bottom: 2px solid #000;
        position: absolute;
        top: 27px;
        left: 18px;
        z-index: 5;
    }

    /* 左右手 */
    .doraemon .hand-left,
    .doraemon .hand-right {
        width: 100px;
        height: 100px;
        position: absolute;
    }

    /* 手臂 */
    .doraemon .arm {
        height: 80px;
        width: 50px;
        background: #07beea;
        position: absolute;
        top: 1px;
        border: 2px solid #000;
    }
    /* 手臂顏色 淺藍 */
    .doraemon .arm.s-blue {
        background: #07beea;
    }
    /* 手臂顏色 淺藍 */
    .doraemon .arm.d-blue {
        background: #10a6ce;
    }
    /* 拳頭 */
    .doraemon .arm .hand{
        height: 70px;
        width: 70px;
        border-radius: 50%;
        background: #fff;
        position: absolute;
        border: 2px solid #000;
    }

    /* 手臂旋轉角度 */
    .doraemon .arm.l150 {
        -webkit-transform: rotate(-125deg);
        -moz-transform: rotate(-125deg);
        -ms-transform: rotate(-125deg);
        -o-transform: rotate(-125deg);
        transform: rotate(-125deg);
    }
    .doraemon .arm.r150 {
        -webkit-transform: rotate(125deg);
        -moz-transform: rotate(125deg);
        -ms-transform: rotate(125deg);
        -o-transform: rotate(125deg);
        transform: rotate(125deg);
    }

    /* 左手 */
    .doraemon .hand-left {
        top: -10px;
        left: 0px;
    }
    /* 左手手臂 */
    .doraemon .hand-left .arm {
        box-shadow: -8px 4px 10px rgba(0, 0, 0, 0.25);
    }
    .doraemon .hand-left .l-hand {
        left: -10px;
        top: -50px;
        box-shadow: inset 14px -8px 23px rgba(0, 0, 0, 0.25);
    }

    .doraemon .hand-left-rewrite {
        height: 35px;
        width: 20px;
        background: #07beea;
        position: absolute;
        top: 7px;
        right: 40px;
        z-index: 30;
    }
    .doraemon .hand-right-rewrite {
        height: 35px;
        width: 20px;
        background: #10a6ce;
        position: absolute;
        top: 7px;
        left: -2px;
        z-index: 30;
    }

    /* 右手 */
    .doraemon .hand-right {
        top: -10px;
        right: 0px;
    }
    /* 右手拳頭 */
    .doraemon .hand-right .r-hand {
        top: -52px;
        left: -10px;
        box-shadow: inset -2px 18px 30px rgba(0, 0, 0, 0.25);
    }
    /* 右手手臂 */
    .doraemon .hand-right .arm {
        box-shadow: 10px 4px 10px rgba(0, 0, 0, 0.25);
    }

    /* 腳 */
    .doraemon .foot {
        position:relative;
        z-index: 20;
    }
    /* 左腳 */
    .doraemon .foot-left {
        height: 32px;
        width: 130px;
        background: #fff;
        border:2px solid #000;
        position: absolute;
        left: 20px;
        top: -20px;
        border-radius: 75px 45px 45px 25px;
        box-shadow: inset -14px -1px 16px rgba(0, 0, 0, 0.25);
        z-index: 25;
    }
    /* 右腳 */
    .doraemon .foot-right {
        height: 32px;
        width: 130px;
        background: #fff;
        border:2px solid #000;
        position: absolute;
        right: 60px;
        top: -20px;
        border-radius: 45px 70px 22px 45px;
        box-shadow: inset -14px -1px 16px rgba(0, 0, 0, 0.25);
        z-index: 25;
    }
    /* 褲襠 */
    .doraemon .foot-mid {
        width: 25px;
        height: 40px;
        background: #fff;
        border: 2px solid #000;
        border-bottom: none;
        position:absolute;
        left: 147px;
        top: -32px;
        border-radius: 20px 20px 0 0;
    }

html 之 正常的小喵喵 doraemon-normal.html

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="utf-8"/>
        <title>機器貓</title>
        <meta name="author" content=""/>
        <link rel="stylesheet" href="doraemon.css"/>
    <style>
        /*----------------start 這裏是重寫部分,加了個動畫,不需要的可以刪掉-------------------  */
        /* 左眼眼珠 */
        .doraemon .eyes .bleft {
            animation-duration: 1s;
            transform: translate(-10px,10px);
            animation-iteration-count: infinite;
            animation-direction:alternate;
            animation-name: lchange;
        }
         /* 右眼眼珠 */
        .doraemon .eyes .bright {
            animation-duration: 1s;
            transform: translate(10px,10px);
            transform-delay: 0.5s;
            animation-iteration-count: infinite;
            animation-direction:alternate;
            animation-name: rchange;
        }

        /* 眼珠動畫 */
        @keyframes lchange {
            0% {
                transform: translate(-10px,10px);
            }
            40% {
                height: 25px;
                width: 25px;
                transform: translate(-10px,-25px);
            }
            60% {
                transform: translate(-20px,-25px);
            }
            70% {
                transform: translate(-10px,-25px);
            }
            80% {
                transform: translate(-20px,-25px);;
            }
            100% {
                transform: translate(-10px,-25px);
            }
        }
        /* 眼珠動畫 */
        @keyframes rchange {
            0% {
                transform: translate(10px,10px);
            }
            40% {
                height: 25px;
                width: 25px;
                transform: translate(10px,-25px);
            }
            60% {
                transform: translate(20px,-25px);
            }
            70% {
                transform: translate(10px,-25px);
            }
            80% {
                transform: translate(20px,-25px);;
            }
            100% {
                transform: translate(10px,-25px);
            }
        }
        /*----------------end 這裏是重寫部分,加了個動畫,不需要的可以刪掉-------------------  */
    </style>
    </head>
    <body>
    <div class="wrapper">
        <!-- 叮噹貓整體 -->
        <div class="doraemon">
            <!-- 頭部 -->
            <div class="head">
                <!-- 眼睛 -->
                <div class="eyes">
                    <div class="eye left">
                        <!-- 眼珠 -->
                        <div class="black bleft"></div>
                    </div>
                    <div class="eye right">
                        <!-- 眼珠 -->
                        <div class="black bright"></div>
                    </div>
                </div>
                <!-- 臉部 -->
                <div class="face">
                    <!-- 鼻子 -->
                    <div class="nose">
                        <div class="light"></div>
                    </div>
                    <!-- 豎線 -->
                    <div class="vertline"></div>
                    <!-- 小嘴 -->
                    <div class="mouse"></div>
                    <!-- 鬍子 -->
                    <div class='whiskers'>
                        <div class="w-l-top whisker l160"></div>
                        <div class="w-l-mid whisker"></div>
                        <div class="w-l-btm whisker l200"></div>
                        <div class="w-r-top whisker r160"></div>
                        <div class="w-r-mid whisker"></div>
                        <div class="w-r-btm whisker r200"></div>
                    </div>
                </div>
            </div>
            <!-- 脖子 -->
            <div class="neck">
                <!-- 脖子上的鈴鐺 -->
                <div class="bell">
                    <div class="bell-line"></div>
                    <div class="bell-circle"></div>
                    <div class="bell-vertline"></div>
                </div>
            </div>
            <!-- 身體 -->
            <div class="mbodys">
                <!-- 藍色身體背景 -->
                <div class="mbody"></div>
                <!-- apron 圍裙 -->
                <div class="apron">
                    <!-- 口袋遮布 -->
                    <div class="pocket-mask"></div>
                    <!-- pocket 口袋 -->
                    <div class="pocket"></div>
                </div>

                <!-- 左手 -->
                <div class="hand-left">
                    <div class="arm s-blue l150">
                        <div class="hand l-hand"></div>
                    </div>
                    <div class="hand-left-rewrite"></div>
                </div>
                <!-- 右手 -->
                <div class="hand-right">
                    <div class="arm d-blue r150">
                        <div class="hand r-hand"></div>
                    </div>
                    <div class="hand-right-rewrite"></div>
                </div>
            </div>

            <!-- 腳-->
            <div class="foot">
                <!-- 左腳 -->
                <div class="foot-left"></div>

                <!-- 右腳 -->
                <div class="foot-right"></div>

                <!-- 褲襠  -->
                <div class="foot-mid"></div>
            </div>

        </div>

    </div>

    </body>
    </html>

色色的小喵喵,效果如下:
這裏寫圖片描述

html 之 色色的小喵喵 doraemon-happy.html

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="utf-8"/>
        <title>機器貓</title>
        <meta name="author" content=""/>
        <link rel="stylesheet" href="doraemon.css"/>
        <style>
            /* 嘴巴重寫 */
            .doraemon .head .face .mouse {
                margin: 0px;
                left: 40px;
                bottom: 16px;
                z-index: 100;
                background: red;
                border:3px solid #333;
                height: 70px;
                width: 180px;
                border-radius:0 0 100px 100px / 0 0 70px 70px;
                overflow: hidden;
            }
            /* 嘴巴上的舌頭 */
            .doraemon .mouse .tongue {
                height: 100px;
                width: 200px;
                border:2px solid #333;
                position: absolute;
                left: 10px;
                top: 15px;
                background: orange;
                border-radius: 50%;
            }

            /* 眼珠重寫,愛心 */
            .doraemon .head .eye-heart {
                position: relative;
                top: 20px;
            }
            .doraemon .head .eye-heart .heart{
                transform: scale(0.7) rotate(45deg);
                background: linear-gradient(-90deg, #F50A45 0%, #d5093c 40%);
                box-shadow: 0 0 10px #d5093c;
                animation: heart 0.7s ease 0s infinite normal;
            }
            .doraemon .head .eye-h-left {
                height: 30px;
                width: 30px;
                border-radius: 50%;
                position: absolute;
                top: -1px;
                left: 12px;
                background: #F50A45;
            }
            .doraemon .head .eye-h-right {
                height: 30px;
                width: 30px;
                background: #F50A45;
                border-radius: 50%;
                position: absolute;
                top: -1px;
                right: 12px;
            }
            .doraemon .head .eye-h-btm {
                height: 30px;
                width: 30px;
                background: #F50A45;
                position: absolute;
                top: 8px;
                right: 21px;
                transform: rotate(45deg);
            }


            /* 眼睛上的愛心動畫 */
            @keyframes heart {
                0% {
                    box-shadow: 0 0 10px #d5093c;
                    transform: scale(0.7) rotate(45deg);
                }
                10% {
                    box-shadow: 0 0 15px #d5093c;
                    transform: scale(1) rotate(45deg);
                }
            }
        </style>
    </head>
    <body>
    <div class="wrapper">
        <!-- 叮噹貓整體 -->
        <div class="doraemon">
            <!-- 頭部 -->
            <div class="head">
                <!-- 眼睛 -->
                <div class="eyes">
                    <div class="eye left">
                        <!-- 眼珠 -->
                        <div class="eye-heart">
                            <div class="eye-h-left heart"></div>
                            <div class="eye-h-right heart"></div>
                            <div class="eye-h-btm heart"></div>
                        </div>
                    </div>
                    <div class="eye right">
                        <!-- 眼珠 -->
                        <div class="eye-heart">
                            <div class="eye-h-left heart"></div>
                            <div class="eye-h-right heart"></div>
                            <div class="eye-h-btm heart"></div>
                        </div>
                    </div>
                </div>
                <!-- 臉部 -->
                <div class="face">
                    <!-- 鼻子 -->
                    <div class="nose">
                        <div class="light"></div>
                    </div>
                    <!-- 豎線 -->
                    <div class="vertline"></div>
                    <!-- 小嘴 -->
                    <div class="mouse">
                        <div class="tongue"></div>
                    </div>
                    <!-- 鬍子 -->
                    <div class='whiskers'>
                        <div class="w-l-top whisker l160"></div>
                        <div class="w-l-mid whisker"></div>
                        <div class="w-l-btm whisker l200"></div>
                        <div class="w-r-top whisker r160"></div>
                        <div class="w-r-mid whisker"></div>
                        <div class="w-r-btm whisker r200"></div>
                    </div>
                </div>
            </div>
            <!-- 脖子 -->
            <div class="neck">
                <!-- 脖子上的鈴鐺 -->
                <div class="bell">
                    <div class="bell-line"></div>
                    <div class="bell-circle"></div>
                    <div class="bell-vertline"></div>
                </div>
            </div>
            <!-- 身體 -->
            <div class="mbodys">
                <!-- 藍色身體背景 -->
                <div class="mbody"></div>
                <!-- apron 圍裙 -->
                <div class="apron">
                    <!-- 口袋遮布 -->
                    <div class="pocket-mask"></div>
                    <!-- pocket 口袋 -->
                    <div class="pocket"></div>
                </div>

                <!-- 左手 -->
                <div class="hand-left">
                    <div class="arm s-blue l150">
                        <div class="hand l-hand"></div>
                    </div>
                    <div class="hand-left-rewrite"></div>
                </div>
                <!-- 右手 -->
                <div class="hand-right">
                    <div class="arm d-blue r150">
                        <div class="hand r-hand"></div>
                    </div>
                    <div class="hand-right-rewrite"></div>
                </div>
            </div>

            <!-- 腳-->
            <div class="foot">
                <!-- 左腳 -->
                <div class="foot-left"></div>

                <!-- 右腳 -->
                <div class="foot-right"></div>

                <!-- 褲襠  -->
                <div class="foot-mid"></div>
            </div>

        </div>

    </div>

    </body>
    </html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章