CSS 浮动

一、元素浮动后的特点

1、脱离文档流

2、不管浮动前是什么元素,浮动后:默认宽和高都是被内容撑开,而且可以设置宽高

3、不会独占一行,可以与其它元素共用一行

4、不会margin合并,也不会margin塌陷,能够完美地设置四个方向的margin和padding

5、不会像行内块一样被当做文本处理(没有行内块的空白问题)。

二、浮动后会有哪些影响

对兄弟元素的影响:后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟无影响

对父元素的影响:不能撑起父元素的高度,导致父元素高度塌陷;但父元素的宽度依然束缚浮动的元素。

三、解决浮动产生的影响(清除浮动)

1、方案一:给父元素指定高度

2、方案二:给父元素也设置浮动,带来其它影响。

3、方案三:给父元素设置overflow:hidden

4、方案四:在所有浮动元素的最后面,添加一个块级元素,并给该块级元素设置clear:both

5、方案五:给浮动元素的父元素,设置伪元素,通过伪元素清楚浮动,原理与方案4相同(推荐使用)

css 复制代码
.parent::after {
    contnet: "";
    display: block;
    clear: both;
}

布局中的一个原则:设置浮动的时候,兄弟元素要么全都浮动,要么全都不浮动。

相关推荐
Csvn9 小时前
CSS :has() 选择器实战:没有它之前我们写了多少冗余 JS
前端·css
用户059540174461 天前
大模型长上下文遗忘排查实录:用 Playwright 自动化测试,揪出了 90% 的存储序列化 bug
前端·css
天蓝色的鱼鱼2 天前
关于 CSS 你可能不知道的属性,但关键时刻很有用
前端·css
用户059540174462 天前
向量库静默丢数据踩坑实录:Playwright 端到端测试让我排查了72小时
前端·css
ZhengEnCi3 天前
Q06-导航按钮高级拟态玻璃效果构建完全指南
前端·css
用户059540174463 天前
Redis持久化踩坑实录:这个数据丢失Bug让我排查了6小时
前端·css
用户059540174464 天前
Redis记忆存储故障恢复测试踩坑实录:手动测试让我漏掉了2个一致性Bug
前端·css
用户059540174464 天前
用了3年Mock,才发现Redis记忆存储的测试一直漏掉了60%的边界场景
前端·css
用户059540174465 天前
用了6个月LangChain,才发现AI Agent的记忆存储一直有坑——写了23个Pytest用例才彻底修好
前端·css
用户059540174465 天前
把LLM记忆测试从手工脚本换成Pytest参数化,回归时间从2小时降到10分钟
前端·css