zoukankan      html  css  js  c++  java
  • CSS3权威指南-浮动

    基础html,两个浮动元素

    <div class="content">
            <div class="red"></div>
            <div class="blue"></div>
        </div>

    1、浮动元素不会超出父元素的外边界。所以说是相对于父元素浮动的。

    因为浮动了,所以父元素高度坍塌!高度始终是0,所以高度不用管。但是父元素外边界还是存在的

    <style>
            .content{
                margin-top: 100px;
                margin-left: 150px;
                width: 700px;
                background-color: #eee;
            }
    
            .red{
                float: left;
                width: 300px;
                height: 300px;
                background-color: red;
            }
    
            .blue{
                float: left;
                width: 300px;
                height: 300px;
                background-color: blue;
                display: none;
            }
        </style>

    父元素在这,没有高度,所以宽度也无法显示了

    可以设置一下高度看看具体的位置

    浮动已经脱离文档流,所以说父元素多高,对子元素,没有影响。

    2、浮动元素的左边/右边,必须是浮动元素。

    就是说浮动元素会紧靠上一个浮动元素,不会覆盖!

    宽度够的情况下,是横向排列

    都是左边

     一左一右

    如果宽度不够,就会往下挤

    <style>
            .content{
                margin-top: 100px;
                margin-left: 150px;
                width: 500px;
                height: 10px;
                background-color: #eee;
            }
    
            .red{
                float: left;
                width: 300px;
                height: 300px;
                background-color: red;
            }
    
            .blue{
                float: right;
                width: 300px;
                height: 300px;
                background-color: blue;
            }
        </style>

    浮动永远是安全的,可见的,不会覆盖!

    3、浮动元素的顶端,不能比之前的浮动元素高。

    就是说ABCD三个元素吧。

        <style>
    
            *{
                padding: 0;
                margin: 0;
            }
    
            /*如果content不设置宽高,就继承了body的宽*/
            .content{
                margin-top: 10px;
                margin-left: 15px;
                width: 1000px;
                height: 10px;
                background-color: #eee;
            }
    
            .red{
                float: left;
                width: 100px;
                height:100px;
                background-color: red;
            }
    
            .blue{
                float: left;
                width: 500px;
                height: 300px;
                background-color: blue;
            }
    
            .green{
                float: right;
                width: 100px;
                height: 500px;
                background-color: green;
            }
    
            .yellow{
                float: right;
                width: 100px;
                height: 100px;
                background-color: yellow;
            }
        </style>
    </head>
    <body>
        <div class="content">
            <div class="red">A</div>
            <p>pppppppppppppppppppp</p>
            <p>pppppppppppppppppppp</p>
            <p>pppppppppppppppppppp</p>
            <p>pppppppppppppppppppp</p>
            <div class="blue">B</div>
            <div class="green">C</div>
            <div class="yellow">D</div>
        </div>
    </body>

     A的位置很简单没问题。

    浮动的顶部,会被其他块级元素顶下来

    可以看到文字是环绕浮动元素开始的,并且没有任何padding和margin,内容也没有缺失

    B元素的顶部被顶下去,CD由于不能比之前的浮动元素高,所以是和B一样高的,不能浮动到更上面去。

    D向右浮动,因为父元素宽度还够,就紧挨着C,没有问题。

    如果C+D+B宽度大于父元素了,D将会被挤下去。因为D是在后面声明的。

    挤下去之后,继续向右浮动,因为右浮动的边界是另一个浮动,就是C,所以还会紧挨C

  • 相关阅读:
    sql注入常用的判断方法
    refere是什么
    mysql语句
    linux命令
    软件测试
    tcp和udp
    java面试干货
    为什么重写了equals方法一般也要重写hashCode方法
    redis源码解析
    Numpy复习
  • 原文地址:https://www.cnblogs.com/weizhibin1996/p/9650333.html
Copyright © 2011-2022 走看看