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

CSS——清除浮动的六种解决方案

程序员文章站 2022-07-10 22:33:36
内容的高度撑起父元素容器的高度,效果图如下HTML和CSS代码如下给p标签加上浮动以后,p{float:left;},此时DIV塌陷,两段内容同行显示,效果如下: 解决方案一:给前面一个父元素设置高度 !企业开发中,能不写高度就不写,所以这种方式用得很少解决方案二:给后面的盒子添加clear属性; ......

   内容的高度撑起父元素容器的高度,效果图如下
CSS——清除浮动的六种解决方案

HTML和CSS代码如下

CSS——清除浮动的六种解决方案

CSS——清除浮动的六种解决方案

给p标签加上浮动以后,p{float:left;},此时DIV塌陷,两段内容同行显示,效果如下:
CSS——清除浮动的六种解决方案


 解决方案一:给前面一个父元素设置高度
      
      !企业开发中,能不写高度就不写,所以这种方式用得很少



解决方案二:给后面的盒子添加clear属性;
       
      !给某个元素添加clear属性后,这个元素的margin属性 就会失效

      CSS代码和效果图如下:
      
CSS——清除浮动的六种解决方案


CSS——清除浮动的六种解决方案


解决方案三:外墙法,在两个盒子中间添加一个额外的块级元素,并给这个添加的元素设置clear:both属性。

      !可以让下面的盒子使用margin-top属性,但是上面的盒子margin-bottom属性失效;实际使用时可以直接设置添加的块级元素的高度,从而让上下盒子产生边距。

      HTML代码如下:
     

CSS——清除浮动的六种解决方案

CSS——清除浮动的六种解决方案



        效果如下:CSS——清除浮动的六种解决方案 



决方案四:内墙法,在第一个盒子所有子元素最后添加一个额外的块级元素,给这个额外的块级元素设置clear:both属性。
        
       !可以让第一个盒子使用margin-bottom属性,也可以让第二个盒子使用margin-top属性。      
       
      HTML代码如下:
CSS——清除浮动的六种解决方案


效果如图:
 CSS——清除浮动的六种解决方案

此时第一个盒子的高度被撑起,显示出了背景色。但由于添加了额外的元素,因此在开发中不推荐使用这种方式。



解决方案五:利用伪元素添加块级元素清除浮动
 
  代码如下:
 CSS——清除浮动的六种解决方案


效果如下:
CSS——清除浮动的六种解决方案
      
解决方案六: overflow:hidden;   1.可以将超出标签范围的内容裁剪掉
                                                         2.清除浮动
                                                         3.两个嵌套的盒子,可以让里面的盒子在设置margin-top时,外边的盒子不被顶下来。


代码如下:
CSS——清除浮动的六种解决方案
 

 同时,上面盒子的margin-bottom和下边盒子的margin-top都可以正常使用。

效果如图:
CSS——清除浮动的六种解决方案