美文网首页
清除浮动

清除浮动

作者: 每日log | 来源:发表于2021-01-07 13:21 被阅读0次

浮动是指的是css的属性float。对于设置了浮动的元素,在页面效果上可以通俗的理解为“这个元素漂起来了(在水上)”,位置发生变化,不按HTML代码中排列。

清除浮动本质是为了解决父级元素因为子元素浮动而引起内部高度为0的问题,清除浮动后,父级就会根据浮动的盒子自动检测高度,父级有了高度,就不会影响下面的标准流了。
常用清除浮动方法就是给父盒子加高。

01、给父盒子添加高

.fatherBox{
    height: 100px;
 }

缺点:子盒子高度可能不确定,此时就不能给父盒子限制高度。

02、clear:both

在浮动的盒子后面添加一个新标签,并设置css为clear:both

<div class="fatherBox">
    <div class="son1"></div>
    <div class="son2"></div>
    <div style="clear: both;"></div>
</div>

缺点:添加了无意义的标签。

03、父级添加overflow属性

.fatherBox{
   overflow:hiden;
 }
overflow可以为 hidden,auto, scroll。

缺点:比如hidden的时候,内容增多时候容易造成内容被隐藏,无法显示完全内容。

04、使用after伪元素清除浮动

给父盒子添加类名,clearfix并设置属性如下:

 .clearfix:after {  
   content: ""; 
   display: block; 
   height: 0; 
   clear: both; 
   visibility: hidden;  
 }   
 .clearfix {*zoom: 1;}   /* IE6、7 专有 */
<div class="fatherBox clearfix">
</div>
缺点:由于IE6-7不支持:after,使用 zoom:1触发 hasLayout。

05、使用双伪元素清除浮动

同上,给父盒子添加clearfix类名,设置属性如下:

.clearfix:before,.clearfix:after { 
  content:"";
  display:table; 
}
.clearfix:after {
 clear:both;
}
.clearfix {
  *zoom:1;
}

缺点:由于IE6-7不支持:after,使用 zoom:1触发 hasLayout

原文:写移动端CSS一定要注意的三件事

下一篇:

1. 谈谈JS中的运算符:void的四大用法

2. 谈谈JS中的运算符:in和instanceof

3. 谈谈JS中的运算符:自增++ 自减--

推荐阅读:
1. 【建议收藏】最简洁全面的git教程
2. 【建议收藏】你一定会用到的数组的31个方法
3. 【新年福利】滴!你有19本前端开发书籍待收货

相关文章

  • 11.22 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 前端06

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 06 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 清除浮动

    未清除浮动前 清除浮动后

  • 技术知识点整理

    清除浮动 BFC清除浮动浮动的父级末尾插入块级元素清除浮动 BFC(Block Formatting Contex...

  • H5前端开发学习笔记——0x15清除浮动

    清除浮动 课时130 浮动元素高度问题(掌握) 课时131 清除浮动方式一(理解) 课时132 清除浮动方式二(理...

  • css清除浮动

    前端开发中浮动处处可见,本文探讨浮动的成因以及如何更加有效的清除浮动。 1、浮动与清除浮动 2、清除浮动 基本cs...

  • CSS清除浮动三种方式

    清除浮动 当父盒子没有定义高度,嵌套的盒子浮动之后,下边的元素发生位置错误。 清除浮动不是不用浮动,清除浮动产生的...

  • 布局浮动的问题

    浮动的问题 什么是浮动?浮动(float)的副作用清除浮动两种清除浮动的办法如下:

  • 清除浮动

    一、清除浮动 or 闭合浮动 ? 清除浮动:清除对应的单词是 clear,对应CSS中的属性是 clear:lef...

网友评论

      本文标题:清除浮动

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