Jak widać poniżej w CSS, chcę child2
się wcześniej ustawić child1
. Wynika to z faktu, że witryna, którą aktualnie opracowuję, powinna również działać na urządzeniach mobilnych, na których child2
powinna znajdować się na dole, ponieważ zawiera nawigację, którą chcę poniżej treści na urządzeniach mobilnych. - Dlaczego nie 2 strony główne? To są jedyne 2, divs
które zostały przesunięte w całym HTML, więc 2 strony główne dla tej drobnej zmiany to przesada.
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
ma wysokość dynamiczną, ponieważ różne podwitryny mogą zawierać mniej lub więcej elementów nawigacyjnych.
Wiem, że elementy pozycjonowane absolutnie są usuwane z przepływu, a zatem są ignorowane przez inne elementy.
Próbowałem ustawić overflow:hidden;
div rodzica, ale to nie pomogło, podobnie jak clearfix
.
Moim ostatecznym rozwiązaniem będzie JavaScript, aby odpowiednio zmienić ich położenie divs
, ale na razie postaram się sprawdzić, czy istnieje sposób inny niż JavaScript.