《五》CSS 中的 position 属性

本文详细解析了CSS中各种定位方式(静态、相对、绝对、固定和粘性定位)的特点与使用场景,以及z-index属性如何控制元素的堆叠顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

堆叠顺序属性 z-index:设置元素的堆叠顺序(设置一个定位元素沿 z 轴的位置)。属性值是一个没有单位的整数,可以为负数。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的上面。

z-index 只有在 position 为 relative | absolute | fixed | sticky 时才生效。
当父元素设置了 z-index 后,其子元素所设置的 z-index 都将在父元素内进行排列,这种情况下的子元素无论如何不会与父元素外部其他元素出现渲染层次交叉的情况。

img{
    position: absolute;
    left: 100px;
    top: 100px;
    z-index: -1;
}

普通定位 static:

普通定位就是从上到下、从左到右依次排布的布局。

普通流中元素的位置由元素在 HTML 中的位置决定,除非专门指定,否则所有框都在普通流中定位。

top、bottom、left、right、z-index 都失效。

语法:

position: static;

在这里插入图片描述
在这里插入图片描述

相对定位 relative:

元素相对于它在普通流中的位置进行定位。

如果对一个元素进行相对定位,它将出现在它原本所在的位置上;然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。相对定位不脱离文档流,仍然占据原本所在的文档空间;移动后的元素会覆盖页面上的其他元素。

例如相对定位使得原本在第二行的元素 div 上浮了一行的高度,则他会和本来在第一行的元素叠加,但是他在第二行的位置还是会空在那里,下一个块级元素会从第三行开始布局。

语法为:

position: relative;
left、right、top、bottom: x; // left 向右移动 x;right 向左移动 x;top 向下移动 x;bottom 向上移动 x。值可以为负数,即往规定方向的相反移动

请添加图片描述

绝对定位 absolute:

相对于最近的一个已经定位的祖先元素进行定位,如果没有最近定位的祖先元素,则根据根元素进行定位。

绝对定位脱离文档流,不占据原本所在的空间;移动后的元素会覆盖页面上的其他元素。

语法为:

position: absolute;
left、right、top、bottom: x; // left 向右移动 x;right 向左移动 x;top 向下移动 x;bottom 向上移动 x。值可以为负数,即往规定方向的相反移动

请添加图片描述

固定定位 fixed:

根据浏览器窗口进行定位(拉动页面时,元素位置不动)。

脱离文档流,可以覆盖页面上的其他元素。

语法为:

position: fixed;
left、right、top、bottom: x; // left 向右移动 x;right 向左移动 x;top 向下移动 x;bottom 向上移动 x。值可以为负数,即往规定方向的相反移动

请添加图片描述

粘性定位 sticky:

基于用户的滚动位置来定位。

粘性定位的元素依赖于用户的滚动,在 position:relativeposition:fixed 之间切换,在跨越特定阈值前为相对定位,之后为固定定位。这个特定阈值指的是 top、 right、bottom 或 left 之一。

目前浏览器的支持度不好。

div.sticky {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值