fixed与absolute定位元素的包含块

absolute定位元素的包含块为最近的position为非static的祖辈元素,若祖辈元素中没有定位元素,则包含块为初始包含块,在浏览器中为浏览器视口。

fixed定位是absolute定位的一种特殊表现。fixed定位元素的包含块为初始包含块,即视口。

两者包含块都为视口时,但有什么不同之处呢?

fixed定位元素相对于视口偏移,不随着body主体内容的滚动而滚动。

而absolute定位元素相对视口偏移时,仅指的是相对于滚动条处于顶端(document.body.scrollTop=0)时的视口的偏移,。在滚动过程中,absolute元素会随之滚动。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
html
{
	border-right:2px solid #f00;
	width:200px;
}
body
{
	border-right:2px dotted #0f0;
	width:100px;
}
div{
	height:600px;
}
p.abPos{
	position:absolute;
	right:0px;
	bottom:0px;
	margin:0;
	width:100px;
	height:100px;
	border:1px solid #00f;
}
</style>
</head>
<body>
html宽度设为200px,右边框为红色;body宽度为100px,右边框为绿色;目标元素p(蓝色边框),绝对定位,包含块为视口,精确说包含块为窗口未滚动时的视口。

<div>
<p  width="300px" height="300px" id='target'></p>
</div>
<script>
window.addEventListener('scroll',function(){
	if(document.body.scrollTop>20){
	document.getElementById('target').className='abPos';
}
});
</script>
</body>
</html>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值