CSS-浮动
2025-08-31 本文已影响0人
大炮打小鸟
浮动简介
在最初,浮动是用来实现文字环绕图片效果的,现在浮动是最主流的页面布局之一。
float: left;
元素浮动后的特点
1、脱离文档流。
2、不管浮动前是什么元素,浮动后:默认宽与高都是被内容撑开(尽可能小),而且可以设置宽高。
3、不会独占一行,可以与其他元素共用一行。
4、不会margin合并,也不会margin塌陷,能够完美的设置四个方向的margin和padding。
5、不会像行内块元素一样被当前文本处理(没有行内块的空白问题)。
浮动后会有哪些影响
1、对兄弟元素的影响:后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面,且文本会被顶出来,对前面的兄弟无影响。
2、对父元素的影响:不能撑起父元素的高度,导致父元素高度塌陷,但是父元素的宽度依然束缚浮动的元素。
解决浮动后的影响
解决方案:
1、在所有浮动元素后面,添加一个块级元素,并给该块级匀速设置clear:both;。
2、给浮动元素的父元素,设置伪元素,通过伪元素清除浮动,原理与1相同。(推荐使用)
.outer::after {
content: "";
display: block;
clear: both;
}
布局中的一个原则:设置浮动的时候,兄弟元素要么都浮动,要么全都不浮动。