0

0

css clear 属性是做什么用的_清除浮动原理说明

P粉602998670

P粉602998670

发布时间:2026-01-31 09:49:22

|

367人浏览过

|

来源于php中文网

原创

clear属性并非清除浮动,而是让当前元素上边界避开前面的浮动元素;它只对普通文档流中的块级元素生效,无法解决父容器高度塌陷,真正修复需触发BFC。

css clear 属性是做什么用的_清除浮动原理说明

clear 属性根本不是用来“清除浮动”的

它只是让当前元素的**上边界避开前面的浮动元素**,不和它们并排显示。浮动元素本身依然存在、依然脱离文档流,clear 一点也没动它们——所以你给浮动子元素自己加 clear: both 是无效的,它前面又没浮动元素可避。

  • 只对参与普通文档流的块级元素生效(display: blocktable 等),内联元素或 flex/grid 子项加了也无效
  • 必须出现在浮动元素「之后」:如果 HTML 里浮动盒子写在后面,前面的元素设 clear: left 就完全不起作用
  • clear: leftclear: right 在绝大多数场景下等价于 clear: both,因为同一行通常只有一种方向的浮动;直接用 clear: both 更稳妥

为什么父容器高度塌陷?clear 解决不了这个问题

父容器塌陷,是因为它「感知不到」浮动子元素的存在——浮动元素已脱离文档流,父容器按普通流计算高度时,就像它们不存在一样。这时候你在父容器上加 clear: both 没用,它前面又没浮动元素;在子元素上加更没用,它自己就是浮动的。

  • 真正要解决塌陷,得让父容器形成一个独立的格式化上下文(BFC)
  • 常见可靠方案:display: flow-root(现代推荐)、overflow: hidden(有截断风险)、伪元素 ::after + clear: both(即 clearfix)
  • clear 只是 clearfix 技巧中的一环,起作用的是伪元素创建的块级占位 + 触发 BFC 的组合效果,不是 clear 单独干的

什么时候该用 clear:图文混排、表单布局等位置控制场景

clear 的真实主场,是控制「某一块内容必须换行、不能和前面浮动元素挤在一起」,比如文字绕图后标题强制下沉、多列浮动后插入分隔线等。

.img-thumb { float: left; margin-right: 12px; }
.article-title { clear: both; /* 确保标题一定从新行开始,不和缩略图并排 */ }
.form-row::after { content: ""; display: block; clear: both; }
  • 不要为了“修复塌陷”而硬塞 clear,先确认是否真需要它——多数现代布局应优先用 flexgrid
  • 若必须兼容老浏览器(如 IE6/7),clearfix 需配合 zoom: 1 触发 hasLayout
  • display: table 做伪元素(而非 block)能避免某些浏览器的外边距合并问题

现代替代方案:别再为 clear 花太多时间

如果你还在手动写 clearfix 或反复调试 clear,大概率说明布局思路可以升级。浮动本就不是为整体页面结构设计的,而是为文字环绕这类局部效果服务的。

网易人工智能
网易人工智能

网易数帆多媒体智能生产力平台

下载

立即学习前端免费学习笔记(深入)”;

  • 主容器布局请直接用 display: flexdisplay: grid,天然不塌陷、无需清除
  • 只需文字环绕图片?用 float + clear 依然有效,但仅限这一处,别让它扩散到整个布局体系
  • display: flow-root 是最干净的 BFC 触发方式,无副作用,Chrome 58+ / Firefox 57+ / Safari 10.1+ 全支持,2026 年已可放心使用

真正容易被忽略的一点:清除浮动不是目的,而是你意识到「浮动破坏了文档流」之后,被迫补救的中间步骤。越早切换到不依赖文档流脱离的布局模型,越少遇到这类问题。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

841

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

746

2023.11.06

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

580

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

102

2025.10.23

overflow什么意思
overflow什么意思

overflow是一个用于控制元素溢出内容的属性,当元素的内容超出其指定的尺寸时,overflow属性可以决定如何处理这些溢出的内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1763

2024.08.15

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

359

2023.06.14

zoom是什么软件
zoom是什么软件

Zoom软件作为一种远程会议和在线教育的工具,正逐渐成为人们首选的平台。其功能有:1、其功能介绍:1、视频会议功能;2、屏幕共享功能;3、互动工具;4、录制和回放功能。

353

2023.08.23

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

8

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

8

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

CSS教程
CSS教程

共754课时 | 25.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号