Faire absolue positionné div développez div parent hauteur

Comme vous pouvez le voir dans le CSS ci-dessous, je veux enfant2 de se positionner avant de l'enfant1. C'est parce que le site que je suis en train de développer devrait également fonctionner sur des appareils mobiles, sur lequel l'enfant2 doit être en bas, car il contient de la navigation qui je veux ci-dessous le contenu sur les appareils mobiles. - Pourquoi pas 2 masterpages? C'est la seule 2 divs qui sont repositionnés dans l'ensemble de l'HTML, donc 2 masterpages pour ce changement mineur est inutile.

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; }

enfant2 dynamique de la hauteur, que les différents sous-sites, pourrait avoir plus ou moins des éléments de navigation.

Je sais que les éléments en position absolue sont retirés de la circulation, donc ignorés par d'autres éléments.

J'ai essayé de réglage overflow:hidden; sur le div parent, mais cela n'aide pas, ni ne le clearfix.

Mon dernier recours sera javascript pour repositionner les deux divs en conséquence, mais pour l'instant je vais essayer et voir si il existe un non-javascript moyen de le faire.

  • montrez-nous une démonstration à l'jsfiddle.net
  • Je ne suis pas sûr à 100% mais je pense que vous aurez probablement aller pour un JS solution qui fonctionne à la hauteur de l'enfant2 et se déplace à l'enfant1 en conséquence.
  • Cela peut être fait par le réglage de la position du parent à parent et l'enfant à l'absolu.
  • Voir ce Solution peut-être que cela peut vous aider.
InformationsquelleAutor | 2012-08-22