一、什么是文档流?

将窗体自上而下分成一行一行,并在每行中按从左至右依次排放元素,称为文档流,也称为普通流。

这个应该不难理解,HTML中全部元素都是盒模型,盒模型占用一定的空间,依次排放在HTML中,形成了文档流。

二、什么是脱离文档流?

元素脱离文档流之后,将不再在文档流中占据空间,而是处于浮动状态(可以理解为漂浮在文档流的上方)。

脱离文档流的元素的定位基于正常的文档流,当一个元素脱离文档流后,依然在文档流中的其他元素将忽略该元素并填补其原先的空间。

三、怎么脱离文档流?

1:float

使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在该元素的周围。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.first {width: 200px;height: 200px;border: 3px solid red;float: left;}.second {width: 200px;height: 100px;border: 3px solid blue;}</style>
</head><body><div class="first">123</div>
<div class="second">456</div></body>
</html>

运行效果:

这段代码中把红色的框设置为了左浮,所以红色的框称为了浮动状态(浮动在蓝色框的上面),而蓝色框占用了原来空色框的位置。

注意到,蓝色框中的文本依然认为红色框存在,所以为红色框让出了位置。

由于div是块状元素,所以456出现在下方。

2:absolute

absolute称为绝对定位,觉得应该称为相对定位,

因为使用absolute脱离文档流后的元素,是相对于该元素的父类(及以上,如果直系父类元素不满足条件则继续向上查询)元素进行定位的,

并且这个父类元素的position必须是非static定位的(static是默认定位方式)。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.first {width: 200px;height: 200px;border: 3px solid red;}.second {width: 200px;height: 100px;border: 3px solid blue;position: absolute;}.third {width: 200px;height: 200px;border: 3px solid green;}</style>
</head><body><div class="first">123</div>
<div class="second">456</div>
<div class="third">789</div></body>
</html>

运行效果:

通过把蓝色的框的position设置为absolute使蓝色的框变为浮动状态,可以看到绿色的框被蓝色的框遮挡。

emmm...,看起来貌似没有问题,但是还记得前面说的absolute是相对谁定位的吗?

相对非static元素的父级定位的,这里蓝框的父级就是html,所以应该是相对于html定位,

但是代码中没有提供相对位置,所以只能浮动在原来该元素在文档流中的位置上方。

3:fixed

完全脱离文档流,相对于浏览器窗口进行定位。(相对于浏览器窗口就是相对于html)。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.first {width: 200px;height: 200px;border: 3px solid red;}.second {width: 200px;height: 100px;border: 3px solid blue;position: fixed;right: 0;top: 0;}.third {width: 200px;height: 200px;border: 3px solid green;}html {border: dotted;}</style>
</head><body><div class="first">123</div>
<div class="second">456</div>
<div class="third">789</div></body>
</html>

可以很明显的看出,蓝色的框是相对于html进行定位的。

如果不提供相对位置的话,蓝色的框会浮动在其原先在文档流中的位置上方。

HTML元素脱离文档流的三种方法相关推荐

  1. 【脱离文档流的三种方法】

    什么是脱离文档流? 这个标签脱离文档流的管理,不受文档流的布局约束,并且这个标签在原文档流中所占的空间也被清楚掉了 脱离文档流的3种方法为: 方法1:float浮动 方法2:flexed 方法3:ab ...

  2. HTML脱离文档流的三种方法

    一.什么是文档流? 将窗体自上而下分成一行一行,并在每行中按从左至右依次排放元素,称为文档流,也称为普通流. 这个应该不难理解,HTML中全部元素都是盒模型,盒模型占用一定的空间,依次排放在HTML中 ...

  3. 脱离文档流的三种方法

    什么是脱离文档流呢?可以这样理解,本来这个标签是属于文档流管理的,那么它应该按照文档流的正常布局方式从左至右从上之下,并且符合标签本身的含义. 脱离文档流是指,这个标签脱离了文档流的管理.不受文档流的 ...

  4. 标准文档流、脱离文档流及脱离文档流的3种方式

    目录 一.标准文档流 1.定义 2.现象 二.脱离文档流 1.定义 2.3种方式 (1)浮动 (2)绝对定位absolute (3)固定定位fixed 一.标准文档流 1.定义 一个"默认& ...

  5. 怎么html让元素脱离文档流,子元素设置绝对定位之后脱离文档流!

    子元素设置绝对定位之后脱离文档流之后父容器宽高都为都不撑开了. 很多时候都是宽高都是0: 子元素设置绝对定位如何让子元素自己撑开高度? 下面的这个子元素设置绝对定位后,父元素宽高都为0 了.  如何让 ...

  6. relative会脱离文档流吗_position:absolute会使元素脱离文档流

    当元素设置position:absolute时,会脱离正常文档流,后面元素会忽略该元素->覆盖 可以给元素设置min-height解决 ----------------------------- ...

  7. (doc, docx)文档合并的三种方法

    Word文档合并几种方式 通过com.spire.doc包 具体参考地址:https://www.e-iceblue.cn/spiredocforjavaoperating/merge-word-do ...

  8. html的绝对定位脱离文档流吗,子元素position:absolute定位之后脱离文档流,怎么使子元素撑开父元素...

    纯粹的CSS无法实现.因为position:absolute就是脱离文档流,怎么能让父元素不塌陷呢? 目前想到的只能用js和jquery来实现了,用js获取子元素的高度,赋值给父元素. test .o ...

  9. 脱离文档流和恢复文档流的方法

    文章目录 一.文档流 1. 什么是文档流? 2. 什么是脱离文档流 二.怎么脱离文档流 1. float 2. position a. position:absolute b. position:fi ...

最新文章

  1. 如何统计网站用户的停留时间?
  2. python高级教程html文件_Python之html转docx文件高级用法
  3. GetDisplayName 获取枚举的显示值
  4. kindeditor图片服务器php,kindeditor 粘贴网络图片保存到服务器
  5. E人E本让中国人多了一种选择
  6. DB2 设置CodePage
  7. 根据银行账号判定所属银行
  8. 从智能家居的发展看对讲企业的定位
  9. linux 查看vcf文件,VCF格式文件的shell小练习
  10. 如何申请公众号的专属微社区?
  11. 015 Django 云笔记项目(可以略过)
  12. 将PSD文件导出图层
  13. 数睿数据2022新年致辞:小荷才露尖尖角,早有蜻蜓立上头
  14. 女大学生的280块川西环游功略(含帐单)
  15. ansible一键部署脚本
  16. 混合罚函数法matlab报错,罚函数法MATLAB程序
  17. MySQL表结构的管理
  18. 开题报告中拟解决的主要问题怎么写?
  19. python中true用法_使用True/False作为键-如何/为什么这样做?
  20. python基础(持续更新)

热门文章

  1. 基于百度翻译和有道翻译api的一款翻译Demo
  2. 再谈SQL-to-SQL翻译器
  3. Linux之编写shell脚本
  4. 使用html5 canvas 绘制Android机器人
  5. 矩阵的奇异值分解过程
  6. 网页: onkeypress事件与onkeydown事件的区别
  7. 少儿编程Scratch学习教程5--基本操作(二)动画例子
  8. 鲍尔默评论谷歌退出中国事件
  9. GitLab CI 介绍
  10. 金融行业数据安全及合规使用