news 2026/5/28 19:46:42

文档流与定位解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
文档流与定位解析

1. 相对定位(position: relative)

偏移后元素会 “飘起来”,但原来的位置会被保留,其他元素不会占用这个空位。

它最核心的用法:给子元素 absolute 定位提供参照物(父元素设置 relative,子元素设置 absolute,子元素就会相对于父元素定位)。

2. 绝对定位(position: absolute)

一旦设置,元素会脱离文档流,后面的元素会直接顶上来占据它原来的位置。

定位规则:找最近的、设置了 relative/absolute/fixed 的父级元素;如果所有父级都没设置,就相对于整个文档(body)定位。

3. 固定定位(position: fixed)

元素会固定在浏览器视窗的某个位置,不会随页面滚动而移动。

常见场景:顶部固定导航、右下角 “回到顶部” 按钮、页面居中弹窗。

4.代码

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<title>CSS 定位三大方式演示</title>

<style>

.box {

width: 150px;

height: 150px;

line-height: 150px;

text-align: center;

color: #fff;

font-size: 18px;

}

.red { background-color: #e74c3c; }

.green { background-color: #2ecc71; }

.blue { background-color: #3498db; }

.orange { background-color: #f39c12; }

.demo-normal {

margin-bottom: 50px;

border: 2px solid #333;

padding: 10px;

}

.demo-relative {

margin-bottom: 50px;

border: 2px solid #333;

padding: 10px;

}

.box-relative {

position: relative;

top: 20px;

left: 30px;

}

.demo-absolute {

margin-bottom: 50px;

border: 2px solid #333;

padding: 10px;

height: 200px;

position: relative;

}

.box-absolute {

position: absolute;

top: 20px;

right: 30px;

}

.demo-fixed {

height: 1000px;

border: 2px solid #333;

padding: 10px;

}

.box-fixed {

position: fixed;

bottom: 30px;

right: 30px;

width: 60px;

height: 60px;

line-height: 60px;

border-radius: 50%;

}

</style>

</head>

<body>

<h3>1. 文档流默认效果(元素从上到下依次排列)</h3>

<div class="demo-normal">

<div class="box red">盒子1</div>

<div class="box green">盒子2</div>

<div class="box blue">盒子3</div>

</div>

<h3>2. 相对定位(原位置保留,仅元素自身偏移)</h3>

<div class="demo-relative">

<div class="box red">盒子1</div>

<div class="box green box-relative">相对定位盒子2</div>

<div class="box blue">盒子3</div>

</div>

<h3>3. 绝对定位(脱离文档流,父级开启相对定位作为参照物)</h3>

<div class="demo-absolute">

<div class="box red">盒子1</div>

<div class="box green box-absolute">绝对定位盒子2</div>

<div class="box blue">盒子3(会被顶上去)</div>

</div>

<h3>4. 固定定位(相对于浏览器窗口固定)</h3>

<div class="demo-fixed">

<div class="box red">盒子1</div>

<div class="box green">盒子2</div>

<div class="box blue">盒子3</div>

<div class="box orange box-fixed">固定按钮</div>

<p>滚动页面,右下角的“固定按钮”位置不会变化</p>

</div>

</body>

</html>

5.结果

6.补充小知识

定位属性配合 top / right / bottom / left 偏移属性使用,才能让元素产生位置变化。

层级控制:定位元素可以用 z-index 控制堆叠顺序,值越大越靠上(只对设置了非 static 定位的元素生效)。

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

【详细】经典N-皇后问题的回溯解法

问题&#xff1a;在n x n的棋盘大小放置n个皇后&#xff0c;使得这n个皇后不能相互攻击&#xff0c;找出所有摆放方案。坐标系设置&#xff1a;原点&#xff1a;棋盘的左上角。col轴&#xff1a;方向向右。row轴&#xff1a;方向向下。主对角线&#xff1a;从原点出发的对角线&…

作者头像 李华
网站建设 2026/5/21 21:40:14

软件开发行业的机遇:程序员如何抓住行业发展的机会

在数字化浪潮席卷全球的当下&#xff0c;软件开发行业正经历着前所未有的变革与增长。人工智能、云计算、物联网等新兴技术的崛起&#xff0c;不仅重塑了软件开发的范式&#xff0c;更为程序员带来了众多前所未有的发展机遇。对于软件测试从业者而言&#xff0c;深入理解这些机…

作者头像 李华
网站建设 2026/5/21 21:40:11

软件开发行业的国际化:如何提升程序员的国际化能力

在全球化浪潮的席卷下&#xff0c;软件开发行业的国际化进程正以前所未有的速度推进。越来越多的软件企业将目光投向海外市场&#xff0c;试图凭借优质的产品和服务在全球舞台占据一席之地。这一趋势不仅对软件开发人员提出了更高的要求&#xff0c;也让软件测试从业者面临着全…

作者头像 李华
网站建设 2026/5/21 21:40:04

AI人工智能行业的现状:为什么说AI从业者的需求越来越大

一、AI产业爆发式增长&#xff1a;需求激增的时代底色2026年&#xff0c;人工智能产业已步入爆发式增长的黄金期&#xff0c;成为驱动全球经济复苏与产业变革的核心引擎。从全球市场来看&#xff0c;2025年AI市场规模达7575.8亿美元&#xff0c;同比增长18.7%&#xff0c;预计2…

作者头像 李华