Je n'ai pas fait de CSS depuis plusieurs mois, donc je pourrais manquer quelque chose de simple, mais quelle que soit la solution, je ne pouvais pas le comprendre. Voici donc le problème.
Voici la version simplifiée de mon code:
<div id="wrapper" style="position: fixed; overflow: hidden; height: 100%; width: 200px;">
<div id="test" style="position: absolute; margin-left: -200px;"></div>
</div>
Donc, fondamentalement, j'ai besoin du test div interne pour étendre 200px vers la gauche, en dehors de l'enveloppe externe div. Le problème est que mon wrapper est débordé: caché et il ne permettra pas de sortir. J'en ai besoin pour rester trop plein: caché cependant, en raison de certains plugins js que j'utilise.
Y a-t-il donc des solutions? Merci
La seule option est de déplacer ce div en dehors du overflow:hidden
div. Vous ne pouvez pas dire cachez tout dans ce div qui déborde - sauf pour ce div ... faisons une exception.
Vous pouvez introduire une couche de plus dans votre hiérarchie, où le div intérieur est débordé caché et le div extérieur ne l'est pas. Ensuite, placez cet élément positionné dans la div extérieure. Un pseudo-exemple serait:
<div class="outer">
<div class="inner" style="overflow: hidden;">
....
</div>
<div class="abs-positioned">
</div>
</div>
Si par hasard vous aviez un positionnement sur l'ancien div avec overflow:hidden
, vous déplaceriez ce paramètre dans la division outer
, permettant aux choses de se positionner correctement.
Donc, la réponse courte: aucune solution ne vous permettra de faire ce que vous voulez sans changer votre CSS pour ne pas être overflow:hidden
ou sans modifier votre balisage.
Développer sur Piyas De:
Notez que si le débordement caché a
position: relative
alors ça ne marchera pas
Le débordement masqué peut en fait être ignoré si les règles suivantes sont respectées:
[~ # ~] html [~ # ~]
<div class="outer-wrapper">
<div class="wrapper">
<div class="overflowed">(Overflowing the wrapper)</div>
</div>
</div>
[~ # ~] css [~ # ~]
.outer-wrapper {
position: relative;
}
.wrapper {
overflow: hidden;
}
.overflowed {
position: absolute;
}
[~ # ~] violon [~ # ~] http://jsfiddle.net/vLsmmrz6/
Quelque chose comme -
<div id="textChange" style="overflow:hidden; padding-left:250px;">This is wrapper Div
This is wrapper Div<br/>
This is wrapper Div<br/>
<div id="textChange1" style="position:absolute;left:50; top: 50;">
This is inner div but extend 200px to the left<br/>
This is inner div but extend 200px to the left<br/>
This is inner div but extend 200px to the left<br/>
This is inner div but extend 200px to the left<br/>
This is inner div but extend 200px to the left<br/>
</div>
This is wrapper Div<br/>
This is wrapper Div<br/>
This is wrapper Div<br/>
</div>
Peut résoudre votre problème.
Voyez ... que cela aide ou non ...