2009-04-18 9 views
1

J'ai une page Web avec les div suivants.HTML - Dimensionnement divs

<div id="main"> 
    <div id=left></div> 
    <div id=right></div> 
</div> 

Comme le corps de la page est la couleur de fond bleu et assumer div gauche et div droite sont blancs. lorsque le contenu de dir div right atteint la hauteur de div principale, div principale ne développe pas donc il semble étrange.

Comment puis-je obtenir l'expansion de div principale lorsque div right l'étend?

Espérons que ce n'est pas déroutant.

Malcolm

+0

Vous devriez probablement renommer votre question: "CSS-Clearing Floats" – GeekJock

Répondre

4

Je suppose « gauche » et « droite » signifie que vous les flottez gauche et à droite avec votre CSS.

Si oui, vous devez clear them. Faites votre HTML ressembler à ceci:

<div id="main"> 
    <div id=left></div> 
    <div id=right></div> 
    <br style='clear: both;'> 
</div> 
+0

Ne fonctionne pas? Qu'est-ce que c'est censé faire? – Malcolm

+0

J'ai ajouté un lien expliquant ce qu'il est censé faire. Si cela ne fonctionne pas, vous devez coller votre code CSS. –

+0

pourquoi utilisez-vous BR tag? pourquoi pas juste DIV? Même votre lien que vous avez posté utilise DIV. –

0

Vous pouvez (devez) utiliser le fichier css de réinitialisation pour gérer ce genre de problèmes de css. Vous pouvez voir une information détaillée sur le fichier css de réinitialisation de Yahoo from here

Espérons que cela vous aide

0

Vos divs 'left' et 'right' sont-ils lancés? Par défaut, votre div 'principal' ne se développera pas autour des éléments flottants qu'il contient. Vous pouvez résoudre ce problème en ajoutant overflow: auto à div#main dans votre CSS.

0

Vous pouvez essayer quelque chose comme ceci:

<html> 
<head> 
<style> 
#equal  { 
     overflow: hidden; 
     } 

#left, #right{ 
     padding-bottom: 5000px; 
     margin-bottom: -5000px; 
     width: 150px; 
     } 

#left  { 
     float: left; 
     background-color: red; 
     } 

#right  { 
     float: right; 
     background-color: green; 
     } 
</style> 
</head> 
<body> 
<div id="main"> 
<div id="equal"> 
<div id="left">blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah </div> 
<div id="right">blah blah blah blah blah blah </div> 
</div> 
</div> 
</body> 
</html> 
0

Vous devez donner overflow: propriété caché au CSS # principale. Aussi, vous devriez toujours de citer les valeurs d'attribut. (Vous ne l'avez pas fait lorsque vous attribuez des ID aux #left et #right)