js - DOM -03 offsetParent, offsetTop, offsetLeft

CSS offsetParent与布局特性
本文探讨了CSS中offsetParent属性的功能及不同浏览器下的表现差异,同时介绍了如何通过JavaScript获取元素距离其最近的已定位父元素的位置信息。

1.

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
div {padding: 40px 50px;}
#div1 {background: red;}
#div2 {background: green; zoom: 1;}
#div3 {background: orange;}
</style>
<script>
window.onload = function() {
	
	var oDiv3 = document.getElementById('div3');
	
	//parentNode : 父节点
	//alert( oDiv3.parentNode.id );//body1
	
	/*
		元素.offsetParent : 只读 属性 离当前元素最近的一个有定位属性的父节点
			如果没有定位父级,默认是body
			ie7以下,如果当前元素没有定位默认是body,如果有定位则是html
			ie7以上,如果当前元素的某个父级触发了layout,那么offsetParent就会被指向到这个触发了layout特性的父节点上
	*/
	
	//layout
	
	/*alert( document.getElementById('div2').currentStyle.hasLayout );*/
	
	alert( oDiv3.offsetParent.id );
	
	
}
</script>
</head>

<body id="body1">
	<div id="div1">
    	<div id="div2">
        	<div id="div3"></div>
        </div>
    </div>
</body>
</html>

 3.

	/*
		元素.offsetLeft[Top] : 只读 属性 当前元素到定位父级的距离(偏移值)
			到当前元素的offsetParent的距离
			
			如果没有定位父级
				offsetParent -> body
				offsetLeft -> html
			
			如果有定位父级
				ie7以下:如果自己没有定位,那么offsetLeft[Top]是到body的距离
					如果自己有定位,那么就是到定位父级的距离
				其他:到定位父级的距离
	*/

 

转载于:https://www.cnblogs.com/bravolove/p/5996538.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值