欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

清除浮动的4种方式

程序员文章站 2022-05-28 14:13:29
浮动:让多个块元素可以在一行显示 让多个div放一行 问题:浮动是脱标的,因此会影响别的盒子 ,不在保留原来位置。 清除浮动的本质: 解决父级元素内高为0的问题(子级浮动后),让父级占位子。 相对于定位,在应用的时候,子绝父相,父级元素保留位置,故虽同脱标但无上述问题 清除浮动的方法: 1. 额外标 ......

浮动:让多个块元素可以在一行显示 让多个div放一行

问题:浮动是脱标的,因此会影响别的盒子 ,不在保留原来位置。

清除浮动的本质: 解决父级元素内高为0的问题(子级浮动后),让父级占位子。

 

相对于定位,在应用的时候,子绝父相,父级元素保留位置,故虽同脱标但无上述问题

 

清除浮动的方法:

1. 额外标签法:最后一个浮动标签后,加空盒子

 1 <div class="clear"></div> <!-- 最后一个浮动标签后,新添加一个标签 清除浮动 --> 

 

2. 给父级加overflow:hidden属性

1     .father {
2         border: 1px solid red;
3         width: 300px;
4         overflow: hidden;   /*别加错位置了,给父亲加*/
5         /*不是所有的浮动我们都需要清除 ,谁影响布局,我们清除谁*/
6     }

 

3. 用after伪元素 clearfix:after 

清除浮动的4种方式
.clearfix:after {  /*正常浏览器 清除浮动*/
        content:"";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
    .clearfix {
        *zoom: 1;  /*zoom 1 就是ie6 清除浮动方式  *  ie7一下的版本所识别*/
    }
清除浮动的4种方式

 

4. 用after和before 双伪元素  clearfix:after  clearfix:before

清除浮动的4种方式
.clearfix:before, .clearfix:after {
        content: "";
        display: table;
    }
    .clearfix:after {
        clear: both;
    }

    .clearfix {
        *zoom: 1;
清除浮动的4种方式