美文网首页
html清除浮动

html清除浮动

作者: 骑着蜗牛去遛狗 | 来源:发表于2016-11-18 13:34 被阅读17次

    css浮动可以实现很多功能,比如多栏布局,多元素的内联排列等等,在同时也带来了一些问题,浮动后就脱离了原来的文档流,进而就会造成父元素塌陷。

    目前解决浮动造成的这个问题主要有一下几种方案:

    1. clear:both清除浮动

       <div class="container">
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div style="clear:both"></div>
    </div>
    
        .container {
            border: 1px solid red;
        }
    
        .box {
            height: 100px;
            width: 100px;
            margin: 20px;
            background: green;
            float: left;
        }
    

    2. 块状格式化上下文清除浮动

    <b>什么是格式化上下文</b>
    * 可以包含浮动元素
    * 不被浮动元素覆盖
    * 阻止父子元素的margin折叠

    <b>如何创建格式化上下文</b>
    * 根元素
    * 浮动元素(float不是none)
    * 绝对定位元素(position为fixed或absolute)
    * display取值为inline-block,table-cell,table-caption,flex,inline-flex之一
    * overflow不是visible的元

    <div class="container">
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
        </div>
    
            .container {
                border: 1px solid red;
                /*display:table;*/
                float:left;
                /*overflow: hidden;*/
                /*position: absolute;*/
            }
    
            .box {
                height: 100px;
                width: 100px;
                margin: 20px;
                background: green;
                float: left;
            }
    

    3. 伪类清楚浮动

        <div class="clearfix">
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
        </div>
    
            .clearfix:before,
            .clearfix:after {
                display: table;
                content: " ";
            }
    
            .clearfix:after {
                clear: both;
            }
    
            .clearfix {
                *zoom: 1;
            }
    

    总结

    常用的以上三种清楚浮动的办法,推荐使用第三种,兼容性比较好,并且没有添加格外的一些类,可移植性比较好

    相关文章

      网友评论

          本文标题:html清除浮动

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