文档流、浮动 、定位的概念总结

简介:

1.文档流

- 所有的元素默认情况下都是在文档流中存在的
- 文档流是网页的最底层
- 元素在文档流中的特点:
- 块元素
1.默认宽度是父元素的全部
2.默认高度被内容(子元素)撑开
3.在页面中自上而下垂直排列
- 内联元素
1.默认高度和宽度都被内容撑开
2.在页面中自左向右水平排列,如果一行不足以容下所有的元素
则换到下一行继续从左向右

2.浮动
- 使用float来设置元素的浮动
- 可选值:
none 默认值,元素不浮动,就在文档流中
left 元素向页面的左侧浮动
right 元素向页面的右侧浮动
- 浮动特点:
1.元素设置浮动以后,会完全脱离文档流,并向页面的左上或右上浮动。
直到遇到父元素的边框或其他的父元素时则停止浮动。
2.如果浮动元素上边是一个没有浮动的块元素,元素不会超过该块元素。
3.浮动元素的浮动位置不能超过他上边浮动的兄弟元素,最多一边齐
4.浮动元素不会覆盖文字,文字会围绕在浮动元素的周围,所以可以通过浮动来实现文字环绕图片的效果。

- 浮动以后元素会完全脱离文档流,脱离文档流以后元素会具有如下特点:
1.块元素不独占一行
2.块元素的宽度和高度都被内容撑开
3.元素不在文档流占用位置
4.内联元素会变成块元素

- 高度塌陷
- 在文档流中元素的高度默认被子元素撑开,当子元素浮动时,子元素会脱离文档流,
此时将不能撑起父元素的高度,会导致父元素的高度塌陷。父元素高度塌陷会导致其他元素的位置上移,导致页面的布局混乱。
- 可以通过开启元素的BFC来处理高度塌陷的问题。
- BFC叫做Block Formatting Context
- 它是一个隐含属性,默认情况是关闭,当开启以后元素会具有如下的特性:
1.父元素的垂直外边距不会和子元素重叠
2.开启BFC的元素不会被浮动元素覆盖
3.父元素可以包含浮动的子元素 ******
- 开启BFC的方式很多:
1.设置元素浮动
2.设置元素绝对定位
3.设置元素为inline-block
4.将元素的overflow设置为一个非默认值
- 一般我们采取副作用比较小的方式
overflow:hidden;

3.定位
- 通过定位可以将元素摆放到页面的任意位置
- 使用position来设置元素的定位
- 可选值:
- static 默认值 元素不开启定位
- relative 开启元素的相对定位
- absolute 开启元素的绝对定位
- fixed 开启元素的固定定位

- 相对定位
1.相对于元素自身在文档流中的位置进行定位
2.相对定位的元素不会脱离文档流,定位元素的性质不会改变,块还是块,内联还是内联
3.如果不设置偏移量,元素不会发生任何的变化
4.会提升元素的层级

- 绝对定位
1.相对于离它最近的开启了定位的祖先元素进行定位,如果祖先元素都没有开启定位则相对于浏览器窗口进行定位。
2.绝对定位会使元素完全脱离文档流,会改变元素的性质,内联变成块元素,块元素的宽度被内容撑开
3.绝对定位的元素如果不设置偏移量,元素的位置不会发生变化
4.会提升元素的层级

- 固定定位
- 固定定位也是一种绝对定位,它的大部分特点都和绝对定位是相同的。
- 不同的是:
- 固定定位永远相对于浏览器窗口进行定位
- 固定定位会固定在浏览器的指定的位置,不会随页面一起滚动

- 偏移量
- 当元素开启了定位以后,可以通过四个偏移量来设置元素的位置
top:相对于定位位置的顶部的偏移量
bottom:相对于定位位置的底部的偏移量
left:相对于定位位置的左侧的偏移量
right:相对于定位位置的右侧的偏移量

- 一般只需要使用两个值即可给元素进行定位
top left
top right
bottom left
bottom right

- 偏移量也可以指定一个负值,如果是负值则元素会向相反的方向移动

- 层级
- 当元素开启定位以后,可以通过z-index来设置层级,
它需要一个正整数作为参数,值越大层级越高,层级越高越优先显示
如果层级一样,则后边的会盖住前边的,父元素永远都不会盖住子元素。

- 文档流 < 浮动 < 定位

- 元素的透明
使用opacity来设置元素的透明度
- 需要一个0-1之间的值
- 0 表示完全透明
- 1 表示完全不透明

IE8及以下的浏览器不支持该样式,需要使用如下方式来设置
filter:alpha(opacity=透明度);
- 需要一个0-100之间的值
- 0 表示完全透明
- 100 表示完全不透明



原文发布时间为:2018年04月21日

原文作者:Song-宋-Song

本文来源CSDN如需转载请联系原作者

相关文章
|
搜索推荐 UED 索引
SEO中的TDK是什么
SEO中的TDK是什么
583 0
|
存储 弹性计算 移动开发
玩机教程:阿里云电脑无影怎么样?怎么使用?
玩机教程:阿里云电脑无影怎么样?怎么使用?
1168 0
|
机器学习/深度学习 人工智能 搜索推荐
深度探索人工智能在医疗影像诊断中的应用与挑战####
本文深入剖析了人工智能(AI)技术,特别是深度学习算法在医疗影像诊断领域的创新应用,探讨其如何重塑传统诊断流程,提升诊断效率与准确性。同时,文章也客观分析了当前AI医疗影像面临的主要挑战,包括数据隐私、模型解释性及临床整合难题,并展望了未来发展趋势。 ####
|
消息中间件 关系型数据库 Kafka
一种小资源情况下RDS数据实时同步StarRocks方案
使用一台4C8 G服务器轻松实现2个MySQL实例中通过负责分库分表规则之后的5000多张表的数据实时同步到StarRocks
534 67
|
9月前
|
设计模式 网络协议 Java
03.开闭原则详细介绍
本文详细介绍了面向对象设计中的开闭原则(OCP),即软件实体应对扩展开放、对修改关闭。文章通过问题思考、背景分析、实现方式及案例教学,深入探讨了如何在实际开发中应用这一原则,以提高代码的可维护性和扩展性。文中还结合图形绘制和银行业务两个具体案例,展示了如何通过抽象类、接口、策略模式等技术手段实现开闭原则。最后总结了开闭原则的优缺点,并强调了其在设计模式中的重要地位。
232 14
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
长上下文能力只是吹牛?最强GPT-4o正确率仅55.8%,开源模型不如瞎蒙
【8月更文挑战第10天】新研究NoCha挑战显示,即使是顶级的大型语言模型GPT-4o,在处理长篇幅文本时正确率仅55.8%,低于人类直观水平。该挑战基于近作英文小说,检验模型对整本书信息的理解与推理能力。结果显示,模型在全局推理上的表现不佳,倾向于依赖局部信息而非整体上下文,尤其是在复杂推理需求高的科幻小说上表现更弱。这一发现揭示了当前模型在处理长上下文任务上的局限性。论文链接: [https://arxiv.org/pdf/2406.16264](https://arxiv.org/pdf/2406.16264)。
320 65
|
监控 数据可视化 搜索推荐
6 款办公软件对比评测:谁在团队项目可视化管理中脱颖而出?
本文深入评测了6款办公软件,包括板栗看板、Trello、Asana、Monday.com、ClickUp和Wrike,重点分析了它们在团队项目可视化精细管理中的功能特性与优势。板栗看板以其直观的界面、便捷的任务操控、高效的团队协作和精准的数据洞察,成为中小团队快速实现项目管理可视化的理想选择。其他软件也各有千秋,适合不同规模和需求的团队使用。
339 1
|
存储 数据挖掘 语音技术
让你的Notebook飞起来!开发体验再上新台阶
魔搭社区ModelScope最近针对大家积极反馈的Notebook功能进行了多方面的体验升级!这次的升级加入了许多令人兴奋的新特性,在很大程度上提升了Notebook的开发效率和体验。一起来看看这些新功能吧!
|
监控 数据可视化 安全
Axure智慧社区数据可视化大屏模板
在数字化时代,智慧社区的建设成为提升居民生活质量和优化管理效率的重要手段。我们推出Axure智慧社区数据可视化大屏模板(含5套),帮助社区管理者快速搭建高效、美观的大屏,实现数据的实时监控和智能分析。模板设计多样、高度可定制,支持实时数据更新,适用于社区管理中心、物业管理处、社区活动中心和安防监控室等多种场景。立即下载,开启智慧社区新篇章!
475 0