2009-10-23 6 views
1

je le code suivant:problème float html

<div "background-color:green"> 
    <div "float:left">something</div> 
    <div "float:right:>something else</div> 
<div> 

Pourquoi la couleur de fond ne semble pas dans ce cas? Ce qui doit être fait pour le faire apparaître {Code simplifié pour la compréhension, peut ne pas être dans la syntaxe appropriée}

Répondre

2

Vous devez effacer la div Vous pouvez utiliser clear: both sur un élément en dessous, mais je trouve souvent cela est plus facile.

<div style="background-color:green; overflow: hidden;"> 
    <div style="float:left;">something</div> 
    <div style="float:right;">something else</div> 
<div> 

Notez le débordement: masqué.

Bien sûr, cela ne fonctionne que si vous n'avez pas besoin d'éléments pour laisser leurs éléments.

+0

Bonne réponse! Il a travaillé pour moi aussi. Mais savez-vous pourquoi cela fonctionne? –

+0

@ 50ndr33 J'avais l'habitude, mais je ne me souviens plus maintenant. – alex

1

Un objet flottant est "levé" de son contenant. Le bord inférieur de la div externe ne s'étend plus à son contenu.

Une option est d'ajouter un élément à clair (clair prend une direction (soit left, right ou both), et se pousse en dessous d'un flotteur il toucherait:

<div style="background-color: green"> 
    <div style="float: left">something</div> 
    <div style="float: right">something else</div> 
    <br style="clear: both;" /> 
<div> 
+1

Je dirais que ce n'est pas «levé», mais tout conteneur avec seulement des enfants flottants va «s'effondrer». Désolé d'être nitpicky. – alex

+0

Uhm, pas tellement, parce que s'il y a une boîte flottante de 100px, à l'intérieur d'une div contenant autre chose (pas flotté), la boîte va échapper à son conteneur. – Tordek

+0

Vous avez raison. Mais remarquez que j'ai dit '* seulement * les enfants flottants'. – alex

0

Vous devez écrire l'attribut style

<div style="background-color:green;"> 
    <div style="float:left;">something</div> 
    <div style="float:right;">something else</div> 
<div> 
+0

Je suppose qu'il l'a motivé pour la simplicité. – Tordek

+0

Ne jamais sous-estimer les gens ... – alex

+0

J'espère réellement que je me trompe. – ChaosPandion