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;
}

四,注意事项

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

相关推荐
米花丶21 分钟前
前端 Service Worker最佳实践(上):高效的预缓存与运行时缓存方案
前端
困困的果果头33 分钟前
【vue + element】el-table支持多层级合并列
前端·javascript·vue.js·elementui
GISer_Jing34 分钟前
React前端与React Native移动端开发须知差异
前端·react native·react.js
G等你下课39 分钟前
被低估的 CSS 核心!盒子模型如何撑起万亿级网页?
前端·css
只喜欢赚钱的棉花没有糖40 分钟前
从loader和plugin开始了解webpack
前端·webpack
前端日常开发41 分钟前
0 费用使用免费服务器部署 NestJS 项目
前端·后端
爱吃肉的小鹿41 分钟前
JavaScript 中 return和break 的区别
前端
Hilaku42 分钟前
😵‍💫 产品:你能不能让按钮 hover 有个动效?我直接做了个 UI 框架
前端·javascript·css
Nano43 分钟前
Vue 3.5 v-model 原理、自定义实现及与 Vue 2 的对比
前端·vue.js