我有一个简单的问题,我认为我缺少明显的东西,但找不到任何可以理解该行为的东西。我有一张桌子,然后是ap标签和div标签。所有相同级别的标签都是默认位置。仅最后一个div中的inner-div具有绝对位置。我认为,内部div中的绝对位置将相对于IT的外部div(id ='outer')进行绝对定位。
因此,我希望显示以垂直顺序由表,Text1和最后是Text2组成。那不是正在发生的事情。表将按预期显示,文本1也将按预期显示在表之后。但是,文本2显示在表格的顶部,因为它从body标签(或最外面的标签)开始占据绝对位置。为什么?如何使Text2定位在Text1之后。我需要将Text2放在绝对位置是有原因的。不能删除div(id ='inner')上的绝对位置。那么,如何解决这个问题?
<table border="1" style="border-collapse:collapse;">
<tr>
<th>Header 1</th>
</tr>
<tr>
<td >09/12/2013 12:41 pm</td>
</tr>
</table>
<p style="display:block;">Text1</p>
<div id="outer">
<div id="inner" style="display:block;position:absolute;top:30px;">Text2</div>
</div>
由于您使用的是绝对位置,因此会发生这种情况,将其从DOM上移开并搜索一个新的包含块:
定位框的包含块由最近的定位祖先建立
如果您未为父级设置任何position
值,则将div
关闭并接受与另一个父级相关的值。
将位置设置为外部div。
<div id="outer" style="position:relative">
<div id="inner" style="display:block;position:relative;top:30px;">Text2</div>
</div>
在建议中尝试处理CSS文件中的样式
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句