# CSS浮动学习笔记
发布时间:2024-12-07 20:41:11
CSS浮动学习笔记
什么是CSS浮动?
CSS浮动(float)最初用于实现“文字环绕图片”的效果。
可用于实现基本的网页布局,但需要配合清除浮动技术。
浮动的特性
float 属性:使元素脱离标准文档流,向左或向右浮动。
属性值:
left:元素向左浮动。
right:元素向右浮动。
none:元素不浮动(默认值)。
示例代码:
img {
float: left;
margin-right: 10px;
}
特性说明:
浮动元素脱离标准文档流。
后续的内容会围绕浮动元素排列。
浮动元素不能垂直浮动。
对块级元素设置浮动会导致宽度自适应。
行内元素浮动会变为块级元素。
清除浮动
由于浮动元素脱离了标准文档流,可能会导致父元素高度塌陷。因此,需要使用清除浮动技术。
清除浮动的常用方法
方法1:使用clear属性
.clearfix {
clear: both;
}
方法2:使用伪元素::after
.clearfix::after {
content: "";
display: block;
clear: both;
}
方法3:父元素设置overflow: hidden
.container {
overflow: hidden;
}
BFC(块级格式化上下文)
BFC(Block Formatting Context)是一种CSS布局机制,用于解决浮动引起的高度塌陷等问题。
触发BFC的方式:
float值不为none
overflow值不为visible
position值为absolute或fixed
display: flex或grid
BFC的特性:
内部元素不会影响外部元素。
可以阻止外边距重叠。
可以清除浮动。
示例代码:
.container {
overflow: hidden;
}
浮动布局示例
基本的两列布局
<div class="container">
<div class="sidebar" style="float: left; width: 30%;">侧边栏</div>
<div class="content" style="float: right; width: 70%;">主要内容</div>
</div>
三列布局
<div class="container">
<div class="left" style="float: left; width: 20%;">左侧</div>
<div class="center" style="float: left; width: 60%;">中间</div>
<div class="right" style="float: right; width: 20%;">右侧</div>
</div>
总结
CSS浮动用于实现简单的图文环绕与布局效果。
浮动元素会脱离标准文档流,可能导致父元素高度塌陷。
解决高度塌陷的方法包括:clear属性、伪元素清除法和BFC。