J'ai 3 niveaux de div
:
- (En vert ci-dessous) Un niveau supérieur
div
avecoverflow: hidden
. C'est parce que je veux que du contenu (non montré ici) à l'intérieur de cette boîte soit rogné s'il dépasse la taille de la boîte. - (En rouge ci-dessous) À l'intérieur, j'ai
div
avecposition: relative
. La seule utilisation pour cela est pour le niveau suivant. - (En bleu ci-dessous) Enfin un
div
je sors du flux avecposition: absolute
mais que je veux positionner par rapport au rougediv
(pas à la page).
J'aimerais que la boîte bleue soit retirée du flux et s'étende au-delà de la boîte verte, mais soit positionnée par rapport à la boîte rouge comme dans:
Cependant, avec le code ci-dessous, j'obtiens:
Et en supprimant le position: relative
sur la boîte rouge, maintenant la boîte bleue est autorisée à sortir de la boîte verte, mais n'est plus positionnée par rapport à la boîte rouge:
Existe-t-il un moyen de:
- Gardez le
overflow: hidden
sur la boîte verte. - La boîte bleue s'est-elle étendue au-delà de la boîte verte et est-elle positionnée par rapport à la boîte rouge?
La source complète:
#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>
position: fixed
ignorera le overflow:hidden
de tout élément contenant.