![](/img/trans.png)
[英]Using .position with css position: relative not working as expected
[英]CSS Relative Position/Normal Position Question
根据w3schools,相对位置值定义如下。
relative - 元素相对于其正常位置定位,因此“left:20”将20个像素添加到元素的LEFT位置。
我知道我可以获得相对于我所定位的DOM对象并使用它,我可以获得相对于原点的左侧或顶部位置。
我的问题是,我怎样才能获得“正常”的位置?
谢谢,
MJ
到正常位置只需将位置值设置为: static
position:static
也许,我误解了你的问题,但这不是简单的减去相对偏移吗?
“normal”位置是元素将用left:0; top:0;
定位的位置left:0; top:0;
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.