我想在另一个 div 中定位 divs。
以下是相关的 CSS 代码段 (完整示例在 cssdesk 上):
.textblock-container {
width: 500px;
height: 500px;
border: 1px solid red;
}
div.textblock {
width: 100px;
height: 100px;
line-height: 100px;
border: 1px solid black;
position: absolute;
text-align: center;
background: rgb(0, 150, 0); /* Fall-back for browsers that don't
support rgba */
background: rgba(0, 150, 0, .5);
}
并且相关的html片段:
<div id='blockdiv1' class='textblock-container'>
<div id='blockdiv2' class='textblock'><span>foo (NW)</span></div>
<div id='blockdiv3' class='textblock'><span>bar (NE)</span></div>
<div id='blockdiv4' class='textblock'><span>baz (SW)</span></div>
<div id='blockdiv5' class='textblock'><span>quux (SE)</span></div>
</div>
问题在于foo/bar/baz/quux块的位置是相对于浏览器窗口而不是它们的父元素定位的。
我做错了什么,如何修复?
top
,bottom
,left
,right
属性)时,绝对定位元素将相对于其最近的定位父元素的左上角进行偏移,而相对定位元素则相对于其在页面流中的原始位置进行偏移(这样您就可以理解position: relative
的目的,除了作为绝对定位后代的“锚点”位置之外)。@JasonS - Ennui