“流”,文档流,是CSS中最基本的定位和布局机制。css
浏览器中的元素默认的从左到右(内联元素),从上到下(块级元素)如同流水通常堆砌的布局方式。html
float属性的特性以下:web
前三个属性都是十分优秀的特性,可是第四个属性有些时候就会产生很大的问题,所以咱们在使用float的时候要考虑清除这种高度塌陷,以下图所示。浏览器
CSS部分代码:bash
.wreap{
border: 1px solid #000000;
}
.size{
width: 100px;
height: 100px;
background-color: red;
float: left;
}
.box{
margin: 10px;
}
.box1 {
background-color: blue;
}
.clear{
clear: both;
}复制代码
HTML部分代码:布局
<body> <div class="wreap"> <div class="box size"></div> <div class="box size box1"></div> </div> </body>复制代码
(1)clear:both清除浮动元素的浮动spa
代码在上述的基础上,就在具备box1样式的div下面增长了一个具备clear:both属性的divcode
<body> <div class="wreap"> <div class="box size"></div> <div class="box size box1"></div> <div class="clear"></div> </div> </body>复制代码
固然直接使用伪元素:alter能更优雅的实现清除浮动大体代码以下:orm
.wreap{
border: 1px solid #000000;
}
.size{
width: 100px;
height: 100px;
background-color: red;
float: left;
}
.box{
margin: 10px;
}
.box1 {
background-color: blue;
}
.clear:after{
content: "";
display: block;
clear: both;
}复制代码
<body>
<div class="wreap clear">
<div class="box size"></div>
<div class="box size box1"></div>
</div>
</body>复制代码
能够吧clear:alter这一条写到全局样式,哪里须要清除浮动,直接在对应的位置加上clear便可。cdn
(2)经过构建BFC清除浮动
BFC的特性一下子会详细介绍,其中之一就是BFC会包含浮动的块,即其会被浮动的元素撑开。
因此将浮动元素的父元素变为BFC也能够解决浮动。
BFC(Block Formatting Context) 格式化上下文,是web中盒模型的一种布局和css渲染模式,简单的来讲,就是构成了BFC的元素就如同上了个buff结界,其会变成了一个独立和外界隔绝的容器,不管内部如何折腾,都不会影响到外界,一样外界也影响不到他。