Comme vous pouvez le voir dans le CSS ci-dessous, je veux me child2
positionner avant child1
. En effet, le site que je suis en train de développer devrait également fonctionner sur des appareils mobiles, sur lesquels il child2
devrait être en bas, car il contient la navigation que je souhaite en dessous du contenu sur les appareils mobiles. - Pourquoi pas 2 pages maîtres? Ce sont les 2 seuls divs
qui sont repositionnés dans tout le code HTML, donc 2 pages maîtres pour ce changement mineur sont une exagération.
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
a une hauteur dynamique, car différents sous-sites peuvent avoir plus ou moins d'éléments de navigation.
Je sais que les éléments positionnés absolus sont supprimés du flux, donc ignorés par les autres éléments.
J'ai essayé de régler overflow:hidden;
le div parent, mais cela n'a pas aidé, ni le clearfix
.
Mon dernier recours sera JavaScript pour repositionner les deux en divs
conséquence, mais pour l'instant je vais essayer de voir s'il existe une façon non JavaScript de le faire.