CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。
Float(浮动),往往是用于图像,但它在布局时一样非常有用。
浮动最典型的应用:可以让多个块级元素一行排列显示。网页布局第一准则:多个块级元素纵向排列找标准流,横向排列找浮动。
浮动元素经常和标准流父级搭配使用:先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列。
浮动特性:浮动元素会脱离标准流(不在保留原先的位置);浮动的元素一行内显示并且元素顶部对齐;浮动的元素会具有行内块元素的特性。
**注意:**浮动元素是相互贴靠在一起的(不会有缝隙),如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐;如果行内元素有了浮动,则不需要转换块级/行内块元素,就可以直接给高度和宽度,如果块级元素没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定。一个盒子里有多个子盒子,如果其中一个盒子浮动了,那么其他兄弟盒子也应该浮动,以防止引起问题。浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流。
清除浮动
由于父级盒子很多情况下不方便给高度,但是子盒子浮动又不占位置,最后父级盒子高度为0时,就会影响下面的标准流盒子。
元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。
clear 属性指定元素两侧不能出现浮动元素。
例如
/* 清除浮动 */
.clearfix:after {
visibility: hidden;
clear: both;
display: block;
content: ".";
height: 0
}
.clearfix {
*zoom: 1
}
可以给父级添加overflow也可以实现清除浮动 overflow: hidden;