news 2026/4/18 3:30:39

(九)浮动的性质(1)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(九)浮动的性质(1)

1、浮动的元素脱标

标准流元素是区分行、块。
我们知道了浮动元素是脱离标准流的,那么脱离标准流后,浮动元素有哪些特性?
答:浮动元素,脱离标准流后,既可以设置宽度和高度,也可以实现并排显示,不区分元素状态,也就是不区分行内元素和块级元素。

<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin:0;padding:0;}div{width:200px;height:200px;border:1px solid red;}div p{width:100px;height:100px;background:purple;}div span{width:100px;height:100px;background:orange;}</style></head><body><div><p>我是p标签</p><span>span标签</span></div></body>

p标签和span标签都设置了宽度和高度,但是由于元素类型的限制,span标签没有宽度和高度。

div内部元素浮动之后

div p{width:100px;height:100px;background:purple;float:left;}div span{width:100px;height:100px;background:orange;float:left;}


需要注意的是,兄弟元素如果有一个浮动了,剩下必须都要浮动。
如果此时p标签和span标签都没有设置宽度和高度,元素的宽度会被内容撑宽,不会自动撑满父盒子。

div p{background:purple;float:left;}div span{background:orange;float:left;}

2、依次贴边

如果父盒子的宽度不足以存下所有的子盒子,存放不下的会自动向前寻找,直到空余位置能够存放,从而进行贴边显示。

<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin:0;padding:0;}div{width:400px;height:400px;border:5px solid red;margin:100pxauto;}div p{width:100px;height:100px;float:left;}div p.par1{height:250px;background:green;}div p.par2{height:200px;background:blue;}div p.par3{background:yellow;}div p.par4{width:300px;background:cyan;}</style></head><body><div><pclass="par1">1</p><pclass="par2">2</p><pclass="par3">3</p><pclass="par4">4</p></div></body>


如果父盒子的宽度不够,子盒子会依次贴边,但是如果前面元素中有空隙,当前需要贴边的元素不会钻空,不会出现钻空的现象,而之会查询剩余宽度实现依次贴边。

<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin:0;padding:0;}div{width:600px;height:400px;border:5px solid red;margin:100pxauto;}div p{width:100px;height:100px;float:left;}div p.par1{height:250px;background:green;}div p.par2{width:330px;background:blue;}div p.par3{height:200px;background:yellow;}div p.par4{width:300px;background:cyan;}</style></head><body><div><pclass="par1">1</p><pclass="par2">2</p><pclass="par3">3</p><pclass="par4">4</p></div></body>


如果某一个子盒子的宽度大于了父盒子,会有溢出状态。

<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin:0;padding:0;}div{width:600px;height:400px;border:5px solid red;margin:100pxauto;}div p{width:100px;height:100px;float:left;}div p.par1{height:250px;background:green;}div p.par2{width:330px;background:blue;}div p.par3{height:200px;background:yellow;}div p.par4{width:650px;background:cyan;}</style></head><body><div><pclass="par1">1</p><pclass="par2">2</p><pclass="par3">3</p><pclass="par4">4</p></div></body>


向右贴边的原理和向左相同,也是按照先后顺序进行贴边。

<style>*{margin:0;padding:0;}div{width:600px;height:400px;border:5px solid red;margin:100pxauto;}div p{width:100px;height:100px;float:right;}div p.par1{height:250px;background:green;}div p.par2{width:100px;background:blue;}div p.par3{height:200px;background:yellow;}div p.par4{width:100px;background:cyan;}</style></head><body><div><pclass="par1">1</p><pclass="par2">2</p><pclass="par3">3</p><pclass="par4">4</p></div></body>

3、浮动依次贴边练习

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin:0;padding:0;}.outer{height:440px;width:940px;padding:10px;border:2px solid #000;margin:10pxauto;}.outer div{float:left;}.outer.box1{height:260px;width:300px;background:pink;}.outer.box2{height:260px;width:240px;background:cyan;}.outer.s_box{height:130px;width:200px;}.outer.box3{background:yellowgreen;}.outer.box4{background:greenyellow;}.outer.box7{height:180px;width:300px;background:blueviolet;}.outer.s_box2{height:180px;width:160px;}.outer.box5{background:purple;}.outer.box6{background:palegreen;}</style></head><body><divclass="outer"><divclass="box1"></div><divclass="box2"></div><divclass="s_box box3"></div><divclass="s_box box4"></div><divclass="s_box box4"></div><divclass="s_box box3"></div><divclass="box7"></div><divclass="s_box2 box5"></div><divclass="s_box2 box6"></div><divclass="s_box2 box5"></div><divclass="s_box2 box6"></div></div></body></html>

4、浮动margin塌陷问题

标准流有margin塌陷的现象。
标准流:

浮动流:

总结:浮动元素没有了标准流的margin塌陷现象,各自有各自的margin,不会相互塌陷;

5、浮动元素让出标准流

标准流中的元素都有自己的一个标准流位置,后面的元素只能在前面元素的后面进行加载。
浮动元素脱离了标准流,它会让后面的元素占有自己原来的位置,显示效果上来看仿佛是自己“飘”起来了,我们称之为脱标了。

标准流显示

此时粉色盒子浮动了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:24:54

为什么你的量子计算镜像启动慢?99%的人忽略了这4个依赖项

第一章&#xff1a;量子计算镜像的依赖精简在构建面向量子计算模拟的容器化环境时&#xff0c;系统镜像的体积与依赖复杂度直接影响部署效率与运行性能。过度依赖的传统镜像不仅增加传输开销&#xff0c;还可能引入安全漏洞。通过精简基础运行时组件&#xff0c;仅保留支持量子…

作者头像 李华
网站建设 2026/4/18 3:28:08

你不知道的单细胞数据降维黑科技:UMAP与t-SNE的R语言优化实战

第一章&#xff1a;单细胞数据降维的背景与意义单细胞RNA测序&#xff08;scRNA-seq&#xff09;技术的快速发展使得研究人员能够在单个细胞层面解析基因表达模式&#xff0c;揭示细胞异质性、发育轨迹和疾病机制。然而&#xff0c;这类数据通常具有极高的维度——每个细胞可检…

作者头像 李华
网站建设 2026/4/18 3:26:45

企业级权限管控难题,Dify如何实现Agent工具的细粒度分级?

第一章&#xff1a;企业级权限管控的挑战与Dify的应对之道在现代企业数字化转型过程中&#xff0c;权限管控已成为保障系统安全与数据合规的核心环节。随着组织规模扩大和系统复杂度上升&#xff0c;传统的角色权限模型往往难以应对精细化、动态化的访问控制需求。企业常面临权…

作者头像 李华
网站建设 2026/4/18 3:27:55

从零到一:我的单片机学习心路历程与实践全记录

查找单片机中文文献的方法中国知网&#xff08;CNKI&#xff09; 访问中国知网官网&#xff0c;使用关键词“单片机”“嵌入式系统”“STM32”等进行搜索。可以筛选期刊论文、硕博论文等文献类型&#xff0c;按相关性或时间排序。高校或研究机构通常提供免费访问权限。万方数据…

作者头像 李华
网站建设 2026/4/18 3:28:17

【江鸟中原】鸿蒙ArkTS番茄钟开发全攻略(附完整可运行代码)

番茄钟工具功能聚焦、交互逻辑清晰&#xff0c;是鸿蒙应用开发入门阶段理解组件化开发与状态管理的优质实践项目。这篇文章将以一款可直接运行的 ArkTS 番茄钟应用为核心&#xff0c;从项目搭建、代码解析到功能扩展&#xff0c;一步步拆解开发细节&#xff0c;确保每部分内容都…

作者头像 李华
网站建设 2026/4/18 3:30:44

FaceFusion开源换脸工具全解析

FaceFusion开源换脸工具全解析 最新动态&#xff1a;FaceFusion官方镜像已发布 facefusion.io | 支持一键部署Docker镜像与CLI调用 视频演示地址&#xff1a;B站 - FaceFusion全流程实操 你有没有试过&#xff0c;只用一张照片&#xff0c;就把某位演员的脸“无缝”移植到电影片…

作者头像 李华