清除浮动的几种方法

心已赠人 2022-05-10 01:36 384阅读 0赞

浮动产生负作用

1.背景颜色不能使用

子元素float ,如果父元素设置了background,而父级不能被撑开,所以导致背景颜色不能显示

2.边框不能撑开

如果父级设置的border,子元素float ,父级不能撑开,导致边框不能随内容而撑开

3.margin 、 padding 设置值不能正常显示

  1. <style>
  2. .box{margin: 50px auto;border:1px solid #ccc;background: #fc9;color:#fff;}
  3. .red{width: 80px;height: 100px;background: red;float:left;}
  4. .sienna{width: 80px;height: 100px;background: sienna;float:left;}
  5. .blue{width: 80px;height: 100px;background: blue;float:left;}
  6. </style>
  7. <body>
  8. <div class="box">
  9. <div class="red">1</div>
  10. <div class="sienna">2</div>
  11. <div class="blue">3</div>
  12. </div>
  13. </body>

解决方法

子元素都设置了float , 父元素高度不能被撑开,样式margin显示有问题

方法一

在子元素下放个标签,在这个标签中使用 clear:both ,来清除浮动

注 :一般不推荐使用,使用这种添加标签清除浮动,会使页面结构混乱

  1. .clear{clear: both;}
  2. <div class="box">
  3. <div class="red">1</div>
  4. <div class="sienna">2</div>
  5. <div class="blue">3</div>
  6. <div class="clear"></div>
  7. </div>

方法二

给父元素添加属性 overflow:auto

  1. .over-flow{ overflow: auto; zoom: 1;}/*zoom1; 是在处理兼容性问题*/
  2. <body>
  3. <div class="box over-flow">
  4. <div class="red">1</div>
  5. <div class="sienna">2</div>
  6. <div class="blue">3</div>
  7. </div>
  8. </body>

方法三

使用伪元素清除浮动

推荐使用这一种方法

  1. .clearfix::after{
  2. content:"";/*设置内容为空*/
  3. height:0;/*高度为0*/
  4. line-height:0;/*行高为0*/
  5. display:block;/*将文本转为块级元素*/
  6. visibility:hidden;/*将元素隐藏*/
  7. clear:both;/*清除浮动*/
  8. }
  9. .clearfix{
  10. zoom:1;/*为了兼容IE*/
  11. }
  12. <body>
  13. <div class="box clearfix">
  14. <div class="red">1</div>
  15. <div class="sienna">2</div>
  16. <div class="blue">3</div>
  17. </div>
  18. </body>

方法四

使用双伪元素

  1. .clearfix:before,.clearfix:after {
  2. content: "";
  3. display: block;
  4. clear: both;
  5. }
  6. .clearfix {
  7. zoom: 1;
  8. }

发表评论

表情:
评论列表 (有 0 条评论,384人围观)

还没有评论,来说两句吧...

相关阅读

    相关 清除浮动方法

    1. 浮动        浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。        由于浮动框不在文档的普通流中,所以文档的普通流中

    相关 清除浮动方法

    1.浮动元素下加空div 为了统一样式,我们新建一个样式选择器class命名为“.clear”,并且对应选择器样式为“clear:both”,然后我们在父级“</div>”

    相关 清除浮动方式

    清除浮动的几种方式 今天碰到了一个浮动导致元素没有高度的问题,网上搜了以下,有片文章写的比较好,拿过来自己在补充以下。不算纯粹原创,文末注明了出处,以表示对作者的尊重。本

    相关 清除浮动方法

    浮动产生负作用 1.背景颜色不能使用 子元素float ,如果父元素设置了background,而父级不能被撑开,所以导致背景颜色不能显示 2.边框不能撑开 如果父

    相关 清除浮动方法

    标准流:盒子会各占整行位置。子盒子若是标准流,父盒子虽然没有高度,但是会撑开父盒子高度。   浮动:盒子浮了起来,不会占据原来的位置,若父盒子没有定义高度,则不会撑开父盒子,