it-swarm.com.de

Position absolut und Überlauf ausgeblendet

Wir haben zwei DIVs, eine in die andere eingebettet. Wenn der äußere DIV nicht absolut positioniert ist, gehorcht der innere DIV, der absolut positioniert ist, nicht dem Überlauf, der vom äußeren DIV verborgen ist ( Beispiel ).

Gibt es eine Möglichkeit, den inneren DIV dazu zu bringen, dem Überlauf des äußeren DIV zu gehorchen, ohne den äußeren DIV auf absolute Position zu setzen (weil dies unser gesamtes Layout durcheinander bringt)? Auch die relative Position für unseren inneren DIV ist keine Option, da wir aus einer Tabelle "herauswachsen" müssen TD ( exmple ).

Gibt es noch andere Möglichkeiten?

115
Zardoz

Stellen Sie den äußeren <div> Auf position: relative Und den inneren <div> Auf position: absolute. Es sollte für Sie arbeiten.

254
shankhan

Wie wäre es mit position: relative für die äußere div? In dem Beispiel, das das innere verbirgt. Es wird auch nicht in seinem Layout verschoben, da Sie weder oben noch links angeben.

24
Tesserex

Ein absolut positioniertes Element wird tatsächlich in Bezug auf ein relative übergeordnetes Element oder das nächste gefundene relative übergeordnete Element positioniert. Also das Element mit overflow: hidden sollte zwischen relative und absolute positionierten Elementen liegen:

<div class="relative-parent">
  <div class="hiding-parent">
    <div class="child"></div>
  </div>
</div>

.relative-parent {
  position:relative;
}
.hiding-parent {
  overflow:hidden;
}
.child {
  position:absolute; 
}
5
Si7ius