Wie Sie im folgenden CSS sehen können, möchte ich mich child2
vorher positionieren child1
. Dies liegt daran, dass die Website, die ich gerade entwickle, auch auf Mobilgeräten funktionieren child2
sollte, auf der sich die Website unten befinden sollte, da sie die gewünschte Navigation unter den Inhalten auf den Mobilgeräten enthält. - Warum nicht 2 Masterseiten? Dies sind die einzigen 2, divs
die im gesamten HTML-Code neu positioniert werden. Daher sind 2 Masterseiten für diese geringfügige Änderung ein Overkill.
HTML:
<div id="parent">
<div class="child1"></div>
<div class="child2"></div>
</div>
CSS:
parent { position: relative; width: 100%; }
child1 { width: auto; margin-left: 160px; }
child2 { width: 145px; position: absolute; top: 0px; bottom: 0px; }
child2
hat eine dynamische Höhe, da verschiedene Unterwebsites mehr oder weniger Navigationselemente haben können.
Ich weiß, dass absolut positionierte Elemente aus dem Fluss entfernt und daher von anderen Elementen ignoriert werden.
Ich habe versucht, overflow:hidden;
das übergeordnete Div festzulegen, aber das hat nicht geholfen, und das auch nicht clearfix
.
Mein letzter Ausweg wird JavaScript sein, um die beiden divs
entsprechend neu zu positionieren , aber jetzt werde ich versuchen, herauszufinden, ob es eine Nicht-JavaScript-Methode gibt, um dies zu tun.