芒果团子的博客

浮动和清除

字数统计: 371阅读时长: 1 min
2018/10/19 Share

浮动的概念

元素脱离文档流,沿父元素的左侧或右侧放置,文本和内联元素环绕它。
特征:

  1. 脱离文档,不影响普通元素布局。
  2. 可以内联排列,类似inline-block,多个浮动元素,高度不一致,会卡住。
  3. 导致父元素高度塌陷。

清除浮动

  1. clear:该属性不允许被清除浮动的元素的左侧/右侧挨着浮动元素,在被清除浮动的元素上边或下边添加足够的清除空间。在别的元素上使用clear,不是在浮动元素上。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <style>
    .box{
    float: left;
    }
    </style>
    <div class="box-wrapper">
    <div class="box"> </div>
    <div class="box"> </div>
    <div style="clear:both;">不在浮动元素上清除浮动 </div>
    </div>

clear方式的完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 不支持IE6、7
.clearfix:after{
display: table;
content: ' ';
clear:both;
}
// 引入zoom支持IE6、7
.clearfix{
*zoom: 1;
}
// 加入:before解决现代浏览器上边距折叠问题
.clearfix:before{
display: table;
content: ' ';
clear:both;
}

// 完整clearfix方案
.clearfix:before,
.clearfix:after{
display: table;
content: ' ';
}

.clearfix:after{
clear: both;
}

.clearfix{
*zoom: 1;
}

  1. BFC清除浮动
    为父元素添加下列属性:
  • float: left | right
  • overflow: hidden(更好兼容IE) | auto | scorll
  • display:table-cell | table-caption | inline-block | flex | inline-flex
  • position:absolute | fixed

浮动的适用场景

  • 文字环绕
  • 多列布局
  • 多个元素内联排列
CATALOG
  1. 1. 浮动的概念
  2. 2. 清除浮动
  3. 3. 浮动的适用场景