美文网首页
第五讲 通过植物大战僵尸案例来谈谈CSS布局和定位

第五讲 通过植物大战僵尸案例来谈谈CSS布局和定位

作者: 剽悍一小兔 | 来源:发表于2019-11-25 19:30 被阅读0次
    image.png

    站长建议:视频只是作为知识点补充,不要一开始就直接看视频,最好是在阅读之后,带着疑问去看视频。

    点击此处,在线观看视频
    下载专区

    备课.zip

    请先下载源代码,确认成功运行后,再学习做了哪些步骤以达到这样的效果。?

    运行方式:浏览器打开即可

    运行效果:

    image.png image.png

    步骤1:先把页面搞一搞

    首先,我们需要创建一个HTML页面,把场地图片引入进来。

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <style type="text/css">
            body {
                /*设置溢出隐藏,为了没有滚动条*/
                overflow: hidden;
            }
            .bg {
                /*设置背景为一张图片,不重复*/
                background: url(img/background1.jpg) no-repeat;
                /*设置背景图片的尺寸占满div*/
                background-size: 100%;
                width: 1200px;
                height: 500px;
            }
        </style>
    </head>
    <body>
    
        <div class="bg">
    
        </div>
    
    </body>
    </html>
    

    效果:

    image.png

    注释已经写得很清楚了,读者自己看下css的含义即可,不必去深究。

    步骤2:相对定位

    相对定位就是移动一个标签,根据什么来移动呢?对了,就是根据它原来的位置移动,就这么简单。比如,我现在要移动这块场地,就这样做:

    .bg {
        /*设置背景为一张图片,不重复*/
        background: url(img/background1.jpg) no-repeat;
        /*设置背景图片的尺寸占满div*/
        background-size: 100%;
        width: 1200px;
        height: 500px;
        position: relative;/*设置相对定位*/
        top: 80px;
    
    }
    

    可以看到场地被往下移动了80px,top代表顶部距离原来位置的长度,类似的属性还有left,bottom,left。这个步骤只是为了展示,现在请把这一行代码删除吧。

    top: 80px;
    

    步骤3:绝对定位

    绝对定位的意思,可以简单地这样理解,就是根据某一个相对定位(relative)的标签,从它的左上角顶点开始移动。我们来看案例:

    <div class="bg">
        <img class="Peashooter" src="img/Peashooter.gif">
    </div>
    
    .bg .Peashooter {
        position: absolute;
        top: 0;
        left: 0;
    }
    
    image.png

    如图所示,豌豆射手设置了

    position: absolute;
    

    因为外层div是相对定位,因此豌豆射手就相对于外层div做绝对定位。然后我们只需要调整topleft,就可以将豌豆射手放到它该去的地方。

    image.png

    大概是这个位置:

    image.png

    代码:

    .bg .Peashooter {
        position: absolute;
        top: 58px;
        left: 218px;
    }
    

    成功啦,好简单哦鼓掌,吧唧吧唧。哈哈哈,学会了吗,这就是绝对定位!

    步骤4:浮动布局

    所谓浮动布局,就是让一个标签要么左浮动,要么右浮动。让我们重新开一个页面吧。

    <div class="wrap">
    
    </div>
    
    .wrap {
        width: 300px;
        height: 100px;
        border:1px solid #666;
    }
    

    放入一个豌豆

    <div class="wrap">
        <img class="Peashooter" src="img/Peashooter.gif">
    </div>
    
    image.png

    这种就叫做标准的文档流,img是行内标签,那么放置多个的时候,img也会从左往右依次排序。如果我要让豌豆以浮动的方式靠右浮动,看一下该怎么做?

    .Peashooter {
        float: right;
    }
    
    image.png

    可以看到,豌豆靠右边了。接下来,我们再放一个太阳,不加浮动。

    <div class="wrap">
        <img class="Peashooter" src="img/Peashooter.gif">
        <img src="img/Sun.gif">
    </div>
    
    image.png

    可以看到,太阳是在豌豆的左边的,这就是浮动的好处,不管其他元素怎么排列,右浮动的豌豆就是漂浮在右边。再来说下什么叫做清除浮动?首先,我们把豌豆设置为左浮动,太阳设置为右浮动。

    <div class="wrap">
        <img class="Peashooter" src="img/Peashooter.gif">
        <img class="Sun" src="img/Sun.gif">
    </div>
    
    .Peashooter {
        float: left;
    }
    .Sun {
        float: right;
    }
    
    image.png

    然后,我们再把外层div的高度注释掉:

    image.png image.png

    发现,div变成了一条线,这是因为,当一个容器里面所有的元素都浮动了,那么容器的高度就会发生塌陷,解决办法是清除浮动。在最后一个浮动元素后面加上这个:

    <div style="clear: both;"></div>
    
    image.png

    我们看到,div的高度被里面的元素重新撑起来啦!一般我们会有一个叫做clearfix的类,专门做这个事情的。清除浮动的办法有很多,但是我建议学这个就足够了。我们学的是技术,不是背一本字典。

    <div class="clearfix"></div>
    
    .clearfix {
        clear: both;
    }
    

    相关文章

      网友评论

          本文标题:第五讲 通过植物大战僵尸案例来谈谈CSS布局和定位

          本文链接:https://www.haomeiwen.com/subject/xsnjwctx.html