私は3つのレベルを持っていますdiv:
- (下の緑色)
div。のあるトップレベルoverflow: hidden。これは、ボックスのサイズを超えた場合に、そのボックス内の一部のコンテンツ(ここには表示されていません)をトリミングするためです。 - (下の赤で)この中に、私は持っ
divていposition: relativeます。これの唯一の用途は、次のレベルです。 - (下の青色)最後
divに、フローを削除しますposition: absoluteが、(ページではなく)赤を基準にして配置divします。
青いボックスをフローから取り出して、緑のボックスを超えて拡張したいのですが、次のように赤いボックスに対して相対的に配置します。

ただし、以下のコードを使用すると、次のようになります。

そしてposition: relative、赤いボックスのを削除すると、青いボックスは緑のボックスから出ることができますが、赤いボックスに対してもう配置されていません。

次の方法はありますか?
overflow: hidden緑色のボックスを維持します。- 青いボックスは緑のボックスを超えて拡張され、赤いボックスに対して相対的に配置されていますか?
完全なソース:
#d1 {
overflow: hidden;
background: #efe;
padding: 5px;
width: 125px;
}
#d2 {
position: relative;
background: #fee;
padding: 2px;
width: 100px;
height: 100px;
}
#d3 {
position: absolute;
top: 10px;
background: #eef;
padding: 2px;
width: 75px;
height: 150px;
}
<br/><br/><br/>
<div id="d1" >
<div id="d2" >
<div id="d3"></div>
</div>
</div>
