有哪几种方法可以使html脱离文档流?

position: absolute:会使元素脱离文档流,并且相对于最近的已定位的祖先元素进行定位。如果没有已定位的祖先元素,则相对于 <html> 元素定位。

元素脱离文档流,不再占据空间。

不会影响后续元素的位置和布局。

可以通过 toprightbottomleft 来精确定位

position: fixed; 使元素脱离文档流,并且相对于浏览器窗口进行定位。它在滚动页面时会保持固定位置,不随页面滚动而移动。

元素脱离文档流,固定在浏览器窗口的某个位置。

即使页面滚动,元素仍然保持在固定位置。

不会影响其他元素的位置。

position: sticky; 也是一种脱离文档流的方式,元素会根据页面滚动的情况在某个阈值处变为固定定位。当滚动到特定位置时,元素会粘附在视口的指定位置,直到滚动超出该范围。

元素在正常文档流中显示,直到它到达定义的阈值位置时会"粘附"在指定位置。

只在滚动时发生效果,适用于需要固定头部或侧边栏等场景。

在滚动超过阈值之前,元素会占据空间

display: none; 会完全隐藏元素,并使它脱离文档流。该元素不再占据空间,后续的元素将填充它原本所在的位置。

元素完全从页面中消失,连同其占据的空间。

不会影响其他元素的布局。

元素的事件和样式都不会生效,直到使用 display: block 或其他值重新显示。

visibility: hidden; 会使元素不可见,但元素仍然占据文档流中的空间。它不同于 display: none;,元素虽然看不见,但仍然影响其他元素的布局。

元素不可见,但仍占据空间。

不会响应用户交互事件。

不会影响其他元素的相对位置。

相关推荐
前端 贾公子1 小时前
v-if 与 v-for 的优先级对比
开发语言·前端·javascript
bug总结5 小时前
Vue3 实现后台管理系统跳转大屏自动登录功能
前端·javascript·vue.js
用户47949283569155 小时前
同事一个比喻,让我搞懂了Docker和k8s的核心概念
前端·后端
烛阴5 小时前
C# 正则表达式(5):前瞻/后顾(Lookaround)——零宽断言做“条件校验”和“精确提取”
前端·正则表达式·c#
C_心欲无痕5 小时前
浏览器缓存: IndexDB
前端·数据库·缓存·oracle
郑州光合科技余经理6 小时前
技术架构:上门服务APP海外版源码部署
java·大数据·开发语言·前端·架构·uni-app·php
GIS之路6 小时前
GDAL 实现数据属性查询
前端
PBitW7 小时前
2025,菜鸟的「Vibe Coding」时刻
前端·年终总结
mwq301237 小时前
不再混淆:导数 (Derivative) 与微分 (Differential) 的本质对决
前端
小二·8 小时前
Vue 3 组件通信全方案详解:Props/Emit、provide/inject、事件总线替代与组合式函数封装
前端·javascript·vue.js