我有以下代码:
<!DOCTYPE html>
<html>
<head>
<style>
img
{
position:absolute;
right:50px;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<img src="logocss.gif" width="95" height="84" />
</body>
</html>
来自http://www.w3schools.com/cssref/tryit.asp?filename=trycss_position_right
如果我将 h1 的样式更改为: h1 { position:absolute; 右:50px;} 然后 h1 和 img 都重叠。
现在我没有提到 img 或 h1 的最高位置。因此,在第一种情况下,当 h1 没有任何样式时,img 将 h1 单独放置并占据 h1 之后的下一个可用空间并与右侧对齐(相距 50 px)。但是当我提到 h1 相距 50px(绝对定位)时,img 和 h1 都重叠了。现在因为我没有提到最高位置,那么为什么 img 不单独离开 h1 并跟随它(而不是重叠它)?我知道我们使用的是绝对定位,它会模糊指定顶部位置,那么为什么它会自动假设 img 必须占据 top:0 位置?如果 h1 占据 top:0 位置,那很好,因为它是第一个元素。但是 img 应该尊重 h1 的空间。
提前感谢您的帮助。