您的位置:首页 > Web前端 > CSS

在网上看到用CSS制作动态小黄人,我自己实践了下

2016-07-12 16:11 465 查看
HTML页面的代码:

<body>

    <!--容器-->

    <div class="wrapper">

        <!--小黄人-->

        <div class="container">

            <!--头发-->

            <div class="hairs">

                <div class="hairs_one"></div>

                <div class="hairs_two"></div>

            </div>

            <!--头发-->

            <!--眼睛-->

            <div class="eyes">

                <div class="eye_left">

                    <div class="black">

                        <div class="white"></div>

                    </div>

                </div>

                <div class="eye_right">

                    <div class="black">

                        <div class="white"></div>

                    </div>

                </div>

            </div>

            <!--眼睛-->

            <!--嘴巴-->

            <div class="mouth">

                <div class="mouth_box"></div>

            </div>

            <!--嘴巴-->

            <!--手-->

            <div class="hands">

                <div class="left_hand"></div>

                <div class="right_hand"></div>

            </div>

            <!--手-->

            <!--身体-->

            <div class="mybody">

                <!--裤子-->

                <div class="trousers">

                    <!--裤子突出部分-->

                    <div class="trousers_top"></div>

                    <!--裤子口袋-->

                    <div class="pocket"></div>

                    <!--三角线-->

                    <div class="line-left"></div>

                    <div class="line-right"></div>

                    <div class="line-bottom"></div>

                    <!--吊带-->

                    <div class="condoleBelt">

                        <div class="left"></div>

                        <div class="right"></div>

                    </div>

                </div>

                <!--裤子-->

            </div>

            <!--身体-->

            <!--脚-->

            <div class="foot">

                <div class="left_foot"></div>

                <div class="right_foot"></div>

            </div>

            <!--脚-->

            <!--阴影-->

            <div class="foot_shadow"></div>

            <!--阴影-->

        </div>

    </div>
    </body>

CSS样式的代码:

    body {   

      margin: 0;   

      padding: 0;   

    }   

    .wrapper {   

      width: 300px;   

      margin: 100px auto;   

    }   

    .container {   

      position: relative;   

    }   

    .container .mybody {   

      position: absolute;   

      width: 240px;   

      height: 400px;   

      border: 5px solid #000;   

      border-radius: 115px;   

      background: #f9d946;   

      overflow: hidden;   

      z-index: 2;   

    }   

    .container .mybody .trousers {   

      position: absolute;   

      bottom: 0;   

      width: 100%;   

      height: 100px;   

      border-top: 6px solid #000;   

      background: #2074a0;   

    }   

    .container .mybody .trousers .trousers_top {   

      width: 160px;   

      height: 60px;   

      background: #2074a0;   

      position: absolute;   

      bottom: 100px;   

      left: 0;   

      right: 0;   

      margin: 0 auto;   

      border: 6px solid #000;   

      border-bottom: none;   

    }   

    .container .mybody .trousers .pocket {   

      width: 60px;   

      height: 45px;   

      border: 6px solid #000;   

      border-radius: 0 0 25px 25px;   

      left: 0;   

      right: 0;   

      margin: 0 auto;   

      position: absolute;   

      bottom: 65px;   

    }   

    .container .mybody .trousers .line-left,   

    .container .mybody .trousers .line-right {   

      width: 30px;   

      height: 30px;   

      border-bottom-right-radius: 100px;   

      border-right: 6px solid;   

      border-bottom: 6px solid;   

      position: absolute;   

      top: 10px;   

    }   

    .container .mybody .trousers .line-right {   

      right: 0;   

      -webkit-transform: rotate(75deg);   

      -moz-transform: rotate(75deg);   

      -o-transform: rotate(75deg);   

      transform: rotate(75deg);   

      -ms-transform: rotate(75deg);   

    }   

    .container .mybody .trousers .line-bottom {   

      height: 40px;   

      border: 3px solid #000;   

      left: 118px;   

      position: absolute;   

      bottom: 0;   

      border-radius: 3px;   

    }   

    .container .mybody .trousers .condoleBelt {   

      position: absolute;   

    }   

    .container .mybody .trousers .condoleBelt .left,   

    .container .mybody .trousers .condoleBelt .right {   

      width: 100px;   

      height: 16px;   

      border: 5px solid #000;   

      background: #2074a0;   

      top: -90px;   

      position: absolute;   

    }   

    .container .mybody .trousers .condoleBelt .left:after,   

    .container .mybody .trousers .condoleBelt .right:after {   

      content: '';   

      background: #000;   

      width: 8px;   

      height: 8px;   

      border-radius: 50%;   

      position: absolute;   

      top: 3px;   

    }   

    .container .mybody .trousers .condoleBelt .left {   

      left: -35px;   

      transform: rotate(45deg);   

    }   

    .container .mybody .trousers .condoleBelt .left:after {   

      right: 3px;   

    }   

    .container .mybody .trousers .condoleBelt .right {   

      transform: rotate(-45deg);   

      left: 165px;   

    }   

    .container .mybody .trousers .condoleBelt .right:after {   

      left: 3px;   

    }   

    .container .hairs {   

      position: relative;   

    }   

    .container .hairs .hairs_one {   

      width: 130px;   

      height: 100px;   

      border-top: 8px solid #000;   

      position: absolute;   

      transform: rotate(35deg);   

      left: 24px;   

      top: -17px;   

      border-radius: 50%;   

      animation: hairs 2s ease-in-out infinite;   

    }   

    .container .hairs .hairs_two {   

      width: 80px;   

      height: 80px;   

      border-top: 6px solid #000;   

      position: absolute;   

      transform: rotate(15deg);   

      left: 50px;   

      top: -10px;   

      border-radius: 50%;   

    }   

    .container .eyes {   

      position: relative;   

      z-index: 3;   

    }   

    .container .eyes .eye_left,   

    .container .eyes .eye_right {   

      width: 85px;   

      height: 85px;   

      border: 6px solid #000;   

      border-radius: 50%;   

      background: #fff;   

      position: absolute;   

      top: 60px;   

    }   

    .container .eyes .eye_left:after,   

    .container .eyes .eye_right:after {   

      content: '';   

      width: 28px;   

      height: 18px;   

      background: #000;   

      position: absolute;   

      top: 40%;   

    }   

    .container .eyes .eye_left {   

      left: 27px;   

    }   

    .container .eyes .eye_left:after {   

      left: -30px;   

      transform: rotate(7deg) skewX(20deg);   

    }   

    .container .eyes .eye_right {   

      left: 124px;   

    }   

    .container .eyes .eye_right:after {   

      right: -32px;   

      transform: rotate(-7deg) skewX(-20deg);   

    }   

    .container .eyes .black {   

      width: 40px;   

      height: 40px;   

      background: #000;   

      border-radius: 50%;   

      position: absolute;   

      top: 24px;   

      left: 22px;   

      animation: eys_black 5s ease-in-out infinite;   

    }   

    .container .eyes .white {   

      width: 20px;   

      height: 20px;   

      background: #fff;   

      border-radius: 50%;   

      position: absolute;   

      top: 10px;   

      left: 10px;   

      animation: eys_white 5s ease-in-out infinite;   

    }   

    .container .mouth {   

      position: relative;   

      z-index: 3;   

    }   

    .container .mouth .mouth_box {   

      position: absolute;   

      width: 55px;   

      height: 35px;   

      border: 5px solid #000;   

      background: #fff;   

      top: 170px;   

      left: 90px;   

      border-bottom-left-radius: 30px;   

      transform: rotate(-35deg);   

      animation: mouth_box 5s ease-in-out infinite;   

    }   

    .container .mouth .mouth_box:after {   

      background: #f9d946;   

      width: 70px;   

      height: 32px;   

      content: '';   

      position: absolute;   

      border-bottom: 5px solid #000;   

      transform: rotate(35deg);   

      top: -14px
a7b2
;   

      left: 6px;   

      animation: mouth_after 5s ease-in-out infinite;   

    }   

    .container .hands {   

      position: relative;   

      z-index: 1;   

    }   

    .container .hands .left_hand,   

    .container .hands .right_hand {   

      width: 80px;   

      height: 80px;   

      border: 6px solid #000;   

      transform: rotate(40deg);   

      position: absolute;   

      background: #f9d946;   

      border-radius: 30px;   

      top: 220px;   

      animation: left_hand 1s ease-in-out infinite;   

    }   

    .container .hands .left_hand {   

      left: -24px;   

    }   

    .container .hands .left_hand:after {   

      width: 6px;   

      border: 3px solid #000;   

      position: absolute;   

      content: '';   

      transform: rotate(90deg);   

      bottom: 26px;   

      left: 12px;   

    }   

    .container .hands .right_hand {   

      right: 26px;   

    }   

    .container .hands .right_hand:after {   

      width: 6px;   

      border: 3px solid #000;   

      position: absolute;   

      content: '';   

      top: 20px;   

      right: 18px;   

    }   

    .container .foot {   

      position: relative;   

    }   

    .container .foot .left_foot,   

    .container .foot .right_foot {   

      width: 36px;   

      height: 50px;   

      background: #000;   

      position: absolute;   

      top: 400px;   

    }   

    .container .foot .left_foot:after,   

    .container .foot .right_foot:after {   

      width: 60px;   

      height: 35px;   

      position: absolute;   

      bottom: 0;   

      content: '';   

      background: #000;   

    }   

    .container .foot .left_foot {   

      left: 86px;   

      animation: left_foot 1s ease-in-out infinite;   

    }   

    .container .foot .left_foot:after {   

      right: 0;   

      top: 20px;   

      border-radius: 30px 0 10px 20px;   

    }   

    .container .foot .right_foot {   

      left: 128px;   

      animation: right_foot 1s ease-in-out infinite;   

    }   

    .container .foot .right_foot:after {   

      left: 0;   

      top: 20px;   

      border-radius: 0 30px 20px 10px;   

    }   

    .container .foot_shadow {   

      position: absolute;   

      top: 456px;   

      width: 240px;   

      height: 2px;   

      background: rgba(0, 0, 0, 0.3);   

      box-shadow: 0 0 2px 4px rgba(0, 0, 0, 0.3);   

      border-radius: 50%;   

    }   

    @keyframes hairs {   

      30% {   

        transform: rotate(32deg) translate3d(-4px, -2px, 0);   

      }   

    }   

    @keyframes eys_black {   

      0% {   

        transform: translateX(0px);   

      }   

      20%,   

      40% {   

        transform: translateX(15px);   

      }   

      60%,   

      100% {   

        transform: translateX(0px);   

      }   

      80%,   

      90% {   

        transform: translateX(-15px);   

      }   

    }   

    @keyframes eys_white {   

      0% {   

        transform: translateX(0px);   

      }   

      20%,   

      40% {   

        transform: translate3d(3px, 4px, 0px);   

      }   

      60% {   

        transform: translate(5px, 5px);   

      }   

      80% {   

        transform: translateX(0px);   

      }   

      100% {   

        transform: translateX(0px);   

      }   

    }   

    @keyframes mouth_box {   

      40%,   

      43% {   

        width: 45px;   

        height: 25px;   

        top: 175px;   

      }   

      0%,   

      35%,   

      48%,   

      100% {   

        width: 55px;   

        height: 35px;   

        top: 170px;   

        transform: rotate(-35deg);   

      }   

    }   

    @keyframes mouth_after {   

      40%,   

      43% {   

        width: 60.5px;   

        top: -19.3px;   

        left: 1.5px;   

      }   

      0%,   

      35%,   

      48%,   

      100% {   

        width: 70px;   

        top: -16px;   

        left: 3px;   

        transform: rotate(33deg);   

      }   

    }   

    @keyframes left_hand {   

      0%,   

      50%,   

      100% {   

        transform: rotate(40deg);   

      }   

      30% {   

        transform: rotate(37deg) translateX(1px);   

      }   

    }   

    @keyframes right_foot {   

      0%,   

      50%,   

      100% {   

        transform: rotate(0deg);   

      }   

      30% {   

        transform: rotate(-8deg);   

      }   

    }   

    @keyframes left_foot {   

      0%,   

      50%,   

      100% {   

        transform: rotate(0deg);   

      }   

      80% {   

        transform: rotate(8deg);   

      }   

    } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html css