position 属性

position 属性规定应用于元素的定位方法的类型。

有五个不同的位置值

position: static;

HTML 元素默认情况下的定位方式为 static(静态)。

静态定位的元素不受 top、bottom、left 和 right 属性的影响。

position: static; 的元素不会以任何特殊方式定位;它始终根据页面的正常流进行定位。

代码

<div>​
	这个div元素设置了 position: static;
</div>

样式

div{
	position: static;
	border: solid 3px darkgreen;
}

position: relative;

position: relative; 的元素相对于其正常位置进行定位。

设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。

代码

<div>​
    这个元素设置了 position: relative;
</div>

样式

div{
	position: relative;
	border: solid 3px darkgreen;
	left: -20px;
}

position: fixed;

position: fixed; 的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。

固定定位的元素不会在页面中通常应放置的位置上留出空隙。

代码

<div>​
	这个元素设置了 position: fixed;
</div>

样式

div{
	position: fixed;
	border: solid 3px darkgreen;
	bottom: 0;
	right: 20px;
}

position: absolute;

position: absolute; 的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位)。

然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。

代码

<div class="relative-box">​
	这个元素设置了 position: relative;
	<div class="absolute">这个元素设置了 position: absolute;</div>
</div>

 样式

.relative-box {
	position: relative;
	width: 600px;
	height: 300px;
    border: 3px solid darkblue;
} 
.absolute{
	position: absolute;
	top: 80px;
	right: 0;
	width: 200px;
	height: 100px;
	border: 3px solid darkred;
}

position: sticky;

position: sticky; 的元素根据用户的滚动位置进行定位。

粘性元素根据滚动位置在相对(relative)和固定(fixed)之间切换。起先它会被相对定位,直到在视口中遇到给定的偏移位置为止,然后将其“粘贴”在适当的位置。

代码

<div class="sticky">这个div元素设置了 position: sticky;</div>
<div class="div"></div>

样式

.sticky{
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	background-color: green;
	border: 3px solid darkred;
}
.div{
	height: 1500px;
				
}

重叠元素

在对元素进行定位时,它们可以与其他元素重叠。

z-index 属性指定元素的堆栈顺序(哪个元素应放置在其他元素的前面或后面)。

元素可以设置正或负的堆叠顺序。

代码

<div class="div"></div>
<p>这是一个p标签</p>

样式

.div{
	position: absolute;
	width: 300px;
	height: 200px;
	background-color: pink;
	left: 0;
	top: 0;
	z-index: -1;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值