CSS基础知识之float

前段时间写过一篇CSS基础知识之position,当时对float的理解不太准确,被慕课网多名读者指出(原文已修正,如有误导实在抱歉)。现对float进行更深入的学习,在此把学习心得分享给大家。

浮动的基础知识

  • 浮动有4个属性:left(左浮动)、right(右浮动)、none(不浮动)、inherit(继承)。
  • 浮动元素的包含块是其最近的块级祖先元素。
  • 浮动元素会左偏移(或右偏移),直到它的外边界接触到『包含块的内边界』或『另一个浮动元素的外边界』。

  • 浮动元素脱离了标准文档流,文字和行级元素会环绕该元素,块级元素则不受影响。

  • 浮动一个非替换元素,必须为该元素声明一个width,否则元素的宽度趋于0。

  • 浮动元素的margin(外边距)不会与其他元素的margin合并。

浮动的深入研究

  • 浮动元素的顶边不可以高于包含块中先前产生的块级元素或行级元素的顶。
  • 浮动元素之间不可重叠,如果水平方向没有足够的空间放置浮动元素,它将向下移动,直到有足够的空间或没有更多的浮动元素为止。
  • 浮动元素不能溢出包含块的左、右、上边界,仅可溢出下边界。(浮动元素溢出下边界时,部分浏览器会增加包含块的高度,使浮动元素能够包含在包含块中,出现大片空白,导致浏览器兼容性问题。)
  • 浮动元素设置负外边距时,虽然浮动元素看起来溢出了包含块,但实际并没有违反上述规则。
  • 特殊情况,浮动元素比包含块更宽时,浮动元素会在偏移的反方向溢出。

浮动的负作用

  • 背景不能显示
  • 边框不能撑开
  • margin padding 不能正确显示

清除浮动的方法

.clear-float1{ content: “”; display: block; clear: both; }
/* 方法1,当父包含块缩成一条时无效 */

.clear-float2{ overflow:hidden; width:100%; }
/* 方法2,overflow:hidden属性相当于是让父级紧贴内容,这样即可紧贴其对象内内容,从而实现了清除浮动。 */

.clear-float3{ overflow: auto; zoom: 1; }
/* 方法3,zoom是在处理兼容性问题,hidden和auto都能清除浮动,据说auto对seo更友好 */

扩展阅读

欢迎来到 石佳劼的博客,如有疑问,请在「原文」评论区 留言,我会尽量为您解答。


posted on   劼哥stone  阅读(462)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示