css中的浮动

在 CSS 中,浮动(float)是一种定位元素的方式,它允许元素脱离正常的文档流,并向左或向右移动,直到其边缘碰到包含块或者另一个浮动元素的边缘。下面从多个方面详细介绍 CSS 浮动:

一,浮动的结果

浮动后的元素会脱离标准流,不会再保留原先的位置,会飘起来。

浮动后的元素不会出现margin塌陷问题。

任何元素都可以浮动,添加浮动后都具有行内块元素的特性。(如span添加浮动后,可以设置宽和高)

二,浮动的影响

浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流。

为了约束浮动元素的位置,先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置,符合网页布局第一准则。

三,清除浮动

为什么要清除浮动?由于父盒子在很多情况下,不方便给高度,但是盒子浮动又不占有位置,最后父盒子高度为0时,就会影响下面的标准流盒子。

清除浮动后,父级就会根据子盒子自动检测高度,父级有了高度,就不会影响下面的标准流了。

清除浮动的方法1:在浮动元素末尾添加一个新的标签(块级元素),如<div style="clear:both"><div>

清除浮动的方法2:为父元素添加overflow属性,将其属性值设置为hidden,auto或者scroll。

清除浮动的方法3:为父元素的class添加clearfix,并且在前面添加代码:

复制代码
.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

四,注意事项

一浮全浮。在同一行上的盒子,一个盒子加上浮动后,其他盒子也要浮动。不然浮动会失效。

相关推荐
IT_陈寒1 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
Pedantic2 小时前
SwiftUI 手势笔记
前端·后端
橙子家3 小时前
浏览器缓存之【结构化数据库与缓存】: IndexedDB、Cache storage 和 Storage buckets
前端
user20585561518133 小时前
X6 中边悬浮置顶,规避 `mouseleave` 事件丢失问题
前端
李明卫杭州3 小时前
CSS aspect-ratio 属性完全指南
前端
Pedantic5 小时前
SwiftUI 手势层级(Gesture Hierarchy)详解
前端
飘尘5 小时前
前端转型全栈(Java后端)的快速上手指引
前端·后端·全栈
一颗烂土豆5 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
浏览器工程师6 小时前
AI Agent 接浏览器任务,先别让它一路点到底
前端·后端