当前位置: 首页 > news >正文

(九)浮动的性质(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、浮动元素让出标准流

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

标准流显示

此时粉色盒子浮动了

http://www.cnnetsun.cn/news/90869.html

相关文章:

  • 《机器人:智能时代的“钢铁伙伴“》
  • OpenAI gpt-oss-20b 模型部署与优化全指南
  • 《基于RK3588+ToF的环境颜色区域位置识别方案研究》
  • Qwen-Image低显存部署与中文海报生成实战
  • 【Dify Tesseract 运维必修课】:深入理解增量更新与回滚机制的黄金法则
  • 中文文档最完善的AI前端项目?LobeChat当之无愧
  • (Docker标签管理黄金法则):支撑千亿参数模型迭代的版本控制架构
  • nohup、tmux、pm2 全面解析
  • 两款免费神器,希望不要收费!
  • AI元人文构想:人机协作的“未来哪吒”架构
  • Qwen-Image:突破文本渲染与编辑的视觉生成模型
  • 四年累销600万,这就是“海洋速度”
  • Keras与TensorFlow-GPU配置避坑指南
  • Redis + ThinkPHP 实战学习手册(含秒杀场景)
  • 展锐平台:修复使用触控笔主动橡皮擦键功能时, InputDispatcher 发生了致命错误(F 级别),导致 system_server 进程崩溃并重启。
  • EmotiVoice:支持多情感的开源TTS引擎
  • LobeChat能否部署在Netlify?静态站点托管进阶用法
  • 倒计时 5 天!GOBI 2025 全球开源商业创新大会全日程发布,附参会指南!
  • Docker Offload优先级机制详解:90%工程师忽略的关键参数
  • 【Dify高性能视频处理指南】:精准帧率设置提升提取速度300%
  • 为什么你的Tesseract在Dify中处理慢?这5个批量优化关键点必须掌握
  • CDM(充电器件模型)导致芯片失效原因
  • IL-2:调控免疫稳态的“双面因子”
  • 【环境风险评估效能革命】:基于R语言的动态监测系统搭建实录
  • 揭秘Dify中PDF加密与权限验证机制:企业级数据防护必备技能
  • 酒精饮料市场:挑战中寻找机遇 eBest
  • 为什么顶尖数据团队都在用R Shiny做多模态报告?真相令人震惊
  • ChatTTS与GPT-SoVITS语音合成对比分析
  • MySQL Shell 使用方法
  • Docker多阶段构建与精简基础镜像(边缘Agent瘦身必看)