2012-06-07 2 views
1

Je veux que le conteneur div s'étende jusqu'à la hauteur du contenu interne de la div (la liste non ordonnée). Je n'arrive pas à le faire marcher. Des idées?Comment puis-je obtenir un div conteneur pour développer à la hauteur de son contenu?

HTML:

<div class="container"> 
    <ul id="list"> 
     <li>stuff</li> 
     ... 
    </ul> 
</div> 

CSS: (ne fonctionne pas)

.container { 
    width: 332px; 
    height: 100%; 
    padding: 0.4em; 
    position: relative; 
    overflow-y:scroll; 
    overflow-x:hidden; 
} 

#list { 
    position: absolute; 
    height:auto; 
    width:317px; 
} 
+0

Pourquoi la liste est-elle positionnée de manière absolue? Cela ne fonctionnera pas comme vous le souhaitez, car le positionnement absolu de l'enfant le sortira du flux normal. –

+0

Je suis d'accord avec @Interstellar_Coder - pouvez-vous s'il vous plaît nous dire ce que vous essayez d'atteindre? –

Répondre

3

enlever height: 100%; et position: relative; de .container et enlever position: absolute; de #list.

+0

... à moins qu'il y ait une raison pour que ce soit là que vous ne nous dites pas, ou accidentellement dépouillé de votre exemple. –

+0

Cela l'a corrigé. Merci! –

4

Les overflow-y:scroll en conflit avec votre exigence que vous le souhaitez développer, tout comme le height:100% puisque 100% est basé sur la hauteur de l'élément contenant .container.

Ce que vous devez faire est de retirer height:100% et overflow-y:scroll, remplacer par overflow-y:hidden et je crois cela devrait fonctionner.

PS. Pourquoi avez-vous besoin que le #list soit position:absolute?

+0

qui n'a pas fonctionné. –

0

Deux options: Soit ajouter de la hauteur: 100% pour #list

#list{ 
position: absolute; 
height:auto; 
width:317px; 
height: 100%; 
} 

Ou faire comme conteneur ID:

#container{ 
... 
} 
+0

qui n'a pas fonctionné. –

+0

hm, celui-ci, où vous combinez mes deux méthodes, fonctionne: http://jsfiddle.net/2weVn/ – IgnasK

+0

IgnasK Il y a beaucoup de choses qui ne vont pas avec ce violon, dont l'un est que ce conteneur est une classe et non un identifiant. –

0

Définition d'un attribut min-width et/ou max-width pour .container

Questions connexes