可能重复:
位置:绝对没有设置上/左/下/右?
查看下面的代码,我有 div#box2 有 position: absolute 设置。它位于两个具有 position: static 设置的 div 之间。根据以下代码,我希望 div#box2 位于 body 元素的左上角。但是,当它被渲染时,它会收到一个将其置于 box1 下方的最高值。为什么会这样?
我知道当我明确地将 div#box2 的顶部值设置为 0px 时,它会出现在顶部。我只是不知道为什么浏览器一开始就没有计算到 0px 。
这是一些示例代码:
<!DOCTYPE html>
<html>
<head>
<title>Position Test</title>
<style type="text/css">
body { background-color: #DEDEDE; }
#content { border: solid; }
#content div { height: 150px; opacity: .7;}
#box1 { background-color: red; }
#box2 { background-color: yellow; }
#box3 { background-color: lightblue; }
#content div { width: 150px; }
#box2 { position: absolute; text-align: right;}
</style>
</head>
<body>
<div id="content">
<div id="box1"><span>1</span></div>
<div id="box2"><span>2</span></div>
<div id="box3"><span>3</span></div>
</div>
</body>
</html>