Comme vous pouvez le voir dans le CSS ci-dessous, je veux que child2
se positionne avant child1
. C'est parce que le site que je développe actuellement devrait également fonctionner sur les appareils mobiles, sur lesquels child2
devrait être en bas, car il contient la navigation que je veux en dessous du contenu sur les appareils mobiles. - Pourquoi pas 2 masterpages? Ce sont les seuls 2 divs
qui sont repositionnés dans tout le HTML, donc 2 masterpages pour ce petit changement est exagéré.
HTML:
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 pourraient avoir plus ou moins d'éléments de navigation.
Je sais que les éléments positionnés absolument sont retirés du flux, donc ignorés par les autres éléments.
J'ai essayé de définir overflow:hidden;
sur le div parent, mais cela n'a pas aidé, pas plus que le clearfix
.
Mon dernier recours sera JavaScript pour repositionner les deux divs
en conséquence, mais pour l'instant je vais essayer de voir s'il existe un moyen de le faire sans JavaScript.