• 超能陆战队之大白的制作过程


    效果图如下:

              

    友情提示:本篇文章只是用来熟练掌握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;
    }


    今天的分享会就到这儿了,拜拜~~
  • 相关阅读:
    es6数组方法
    es5数组方法
    es6中的generator函数
    async、await
    CSS---文本属性及其属性值
    MySQL---查询某个字段内容中存不存在某个数据,与like不同(FIND_IN_SET(str,strlist))
    CSS---background属性及其属性值
    TP---时间查询(当日、本周、本月、本年)
    PHP---各种输出详解
    type=“text”只能输入数字!
  • 原文地址:https://www.cnblogs.com/szkjoker717666/p/13232625.html
Copyright © 2020-2023  润新知