根据w3schools,相对位置值定义如下。
relative - 元素相对于其正常位置定位,因此“left:20”将20个像素添加到元素的LEFT位置。
我知道我可以获得相对位置的DOM对象并使用它,我可以获得相对于原点的左侧或顶部位置。
我的问题是,我怎样才能获得“正常”的位置?
谢谢,
MJ
答案 0 :(得分:0)
也许,我误解了你的问题,但这不是简单的减去相对偏移吗?
答案 1 :(得分:0)
“normal”位置是元素将与left:0; top:0;
一起定位的位置。您可以通过减去当前位置的偏移量(在Chrome中测试)来获得此位置:
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<style type="text/css">
#container { width: 100px; height: 100px; margin: 100px auto; border: 1px solid red; }
#item { position: relative; top: 10px; left: 10px; width: 80px; height: 80px; border: 1px solid green; }
</style>
<script type="text/javascript">
window.onload = function () {
var container = document.getElementById('container');
var item = document.getElementById('item');
var computed = window.getComputedStyle(item);
item.innerHTML = 'Normal: (' + (item.offsetLeft - parseInt(computed.left))
+ ', ' + (item.offsetTop - parseInt(computed.top) + ')');
};
</script>
</head>
<body>
<div id="container"><div id="item"></div></div>
</body>
</html>
答案 2 :(得分:0)
到正常位置只需将位置值设置为: static
position:static