浮动
float 属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘。
有很多的布局效果,标准流没有办法完成,此时就可以利用浮动完成布局。 因为浮动可以改变元素标签默认的排列方式。
应用:让多个块级盒子(div)水平排列成一行;实现两个盒子的左右对齐,可以让多个块级元素一行内排列显示
浮动的特性:
(1)浮动元素会脱离标准流(脱标)
(2)浮动的元素会一行内显示并且元素顶部对齐
(3)浮动的元素会具有行内块元素的特性
浮动造成的问题:
(1)父级高度塌陷(这也是一个严重的问题)
(2)宽、高变成自适应子元素,但宽、高的设置有效
解决方法
1、给父元素也添加float。这样让父元素与子元素一起脱离文档流浮动起来,保证子元素在父元素内,这样父元素就能自适应子元素的高度,但是此方法有一弊端,一定会影响父元素之后的元素排列,甚至影响布局。
2、给父元素一个固定高度,此方法适用于子元素高度已知并且固定的情况。
3、添加一个块级元素,并给此元素设置clear:both;清除浮动。在很早之前用的就是这种解决办法,新建一个空的div,为这个div设置clear:both;这样无疑是增加了无意义的标签,一个大型页面中,这种标签太多是不好的。
4、给父元素添加 overflow:hidden;
5、通过伪类::after清除浮动
div::after{
content:'';
display:block;
clear:both;
}
本文详细介绍了CSS中的浮动属性,包括其工作原理、应用场景及可能引起的布局问题。并提供了多种解决浮动导致的父级高度塌陷的方法。

被折叠的 条评论
为什么被折叠?



