绝对定位与隐藏溢出
P粉451614834
2023-08-21 19:30:21
<p>我们有两个DIV,一个嵌套在另一个里面。如果外部DIV没有设置为绝对定位,那么绝对定位的内部DIV将不会遵循外部DIV的溢出隐藏。</p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">#first {
width: 200px;
height: 200px;
background-color: green;
overflow: hidden;
}
#second {
width: 50px;
height: 50px;
background-color: red;
position: absolute;
left: 250px;
top: 250px;
}</pre>
<pre class="brush:html;toolbar:false;"><div id="first">
<div id="second"></div>
<div id="third"></div>
</div></pre>
<p><br /></p>
<p>有没有办法让内部DIV遵循外部DIV的溢出隐藏,而不设置外部DIV为绝对定位(因为这会破坏我们的整体布局)?
同时,对于我们的内部DIV来说,相对定位也不是一个选项,因为我们需要“突出显示”一个表格TD。</p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">#first {
width: 200px;
height: 200px;
background-color: green;
}
#second {
width: 50px;
height: 400px;
background-color: red;
position: relative;
left: 0px;
top: 0px;
}</pre>
<pre class="brush:html;toolbar:false;"><table id="first">
<tr>
<td>
<div id="second"></div>
</td>
</tr>
</table></pre>
<p><br /></p>
<p>还有其他选项吗?</p>
关于外部div使用
position: relative
呢?在隐藏内部div的例子中。由于没有指定top或left,它也不会在布局中移动。将外部的
<div>
设置为position: relative
,将内部的<div>
设置为position: absolute
。这样应该适用于您。