H5前端开发学习笔记

H5前端开发学习笔记——0x14浮动

2018-07-09  本文已影响0人  夜莺之刃

浮动

网页布局方式

网页的分布方式其实就是指浏览器是如何对网页中的元素进行排版的;

基本上分为以下几种:

1.标准流(文档流/普通流)排版方式

其实浏览器默认的排版方式就是标准流

2.浮动流排版方式

注意点

特点

  1. 在浮动流中是不区分块级元素、行内元素和行内块级元素,都是可以水平排版的
  2. 在浮动流中,分块级元素、行内元素和行内块级元素都可以设置宽高
  3. 综上所述,浮动流中的元素和标准流中的行内块级元素是很像的

3.定位流排版方式

浮动元素脱标

1.什么是浮动元素的脱标?

脱标:脱离标准流

当我们的某个元素浮动后,这个元素看上就就像是被标准流删除一样

2.浮动元素脱标之后有啥影响

若前一个元素浮动了,而后一个没浮动,前一个元素就会改制后面的一个元素

浮动元素排序规则

1.相同方向上

先浮动元素会显示在前面

2.不同方向上的浮动

各自方向的浮动会找他们各自的浮动

3.浮动元素浮动之后的位置

由浮动元素在浮动之前的标准楼中的位置来确定

浮动元素贴靠现象

当父元素足够大的话,子元素都是可以按照设置放开,当父元素不足以让最后一个元素存在的时候,最后一个元素会向他之前的元素的前一个元素身上贴靠,当所有子元素都贴靠一遍还是不够显示的话,就贴在父元素身上

浮动元素字围现象

看我的html案例,这个效果可以做成图文混搭的效果

这里我贴一下我自己的一个浮动练习

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>浮动练习上</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" type="text/css" media="screen" href="main.css"/>
        <script src="main.js"></script>
        <style>
            * {
                padding: 0;
                margin: 0;
            }
            .header{
                height: 100px;
                width: 980px;
                margin: 0 auto;
            }
            .header .header1{
                width: 250px;
                height: 100px;
                background-color: pink;
                float: left;
            }
            .header .header2{
                width: 150px;
                height: 50px;
                background-color: skyblue;
                float: right;
            }
            .header .header3{
                width: 650px;
                height: 50px;
                background-color: purple;
                float: right;
            }
            .content{
                height: 400px;
                width: 980px;
                margin: 0 auto;
                margin-top: 10px;
                margin-bottom: 10px;
            }
            .content .con1{
                width: 320px;
                height: 400px;
                background-color: yellow;
                float: left;
            }
            .content .con2{
                width: 650px;
                height: 400px;
                float: right;
            }
            .content .con2 .top{
                width: 650px;
                height: 350px;
            }
            .content .con2 .top .left{
                width: 400px;
                height: 350px;
                float: left;
            }
            .content .con2 .top .left .top1{
                width: 400px;
                height: 200px;
                background-color: rgb(255, 8, 144);
            }
            .content .con2 .top .left .bottom2{
                width: 400px;
                height: 140px;
                background-color: rgb(0, 174, 255);
                margin-top: 10px;
            }
            .content .con2 .top .right{
                width: 240px;
                height: 350px;
                background-color: rgb(7, 221, 61);
                float: right;
            }
            .content .con2 .bottom{
                width: 650px;
                height: 40px;
                background-color: rgb(102, 60, 13);
                margin-top: 10px;
            }

            .footer{
                height: 40px;
                width: 980px;
                background-color: rgb(255, 145, 0);
                margin: 0 auto;
                }

        </style>
    </head>
    <body>
        <div class="header">
            <div class="header1">250*100</div>
            <div class="header2">150*50</div>
            <div class="header3">650*50</div>
        </div>
        <div class="content">
            <div class="con1">320*400</div>
            <div class="con2">
                <div class="top">
                    <div class="left">
                        <div class="top1">400*200</div>
                        <div class="bottom2">400*140</div>
                    </div>
                    <div class="right">240*350</div>
                </div>
                <div class="bottom">650*40</div>
            </div>
        </div>
        <div class="footer">980*40</div>
    </body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读