2017-05-02 4 views
0

Mon code est ici, je mets la clear:both de div2 dans ma feuille de style, mais le div3 flottent encore à côté:Pourquoi les deux ne fonctionnent pas correctement en css?

#div1 { 
 
    width: 200px; 
 
    height: 200px; 
 
    background-color: antiquewhite; 
 
    float: left; 
 
    clear: left; 
 
} 
 

 
#div2 { 
 
    width: 20em; 
 
    height: 200px; 
 
    background-color: seagreen; 
 
    float: left; 
 
    clear: both; 
 
} 
 

 
#div3 { 
 
    width: 600px; 
 
    height: 3cm; 
 
    background-color: red; 
 
    float: left; 
 
}
<div id="div1"> 
 
    div1 
 
</div> 
 

 
<div id="div2"> 
 
    div2 
 
</div> 
 

 
<div id="div3"> 
 
    div3 
 
</div>

L'effet du flotteur:

enter image description here

Vous voyez le div3 est à côté de div2, mais m y div2 est clair à la fois, pourquoi l'obtenir? J'ai test dans firefox et safari, pas de différence.

+0

vous utilisez 'float: left;' avec 'clear: les deux;' –

Répondre

1

clear signifie qu'un élément ne flambera pas à côté d'un élément flottant précédent.

Depuis div2 est clear: both, il ne se déplace pas à côté div1.

Depuis div2 est float: left, il se déplace vers la gauche et div3 bouillonne à côté.

div3 n'a pas clear donc rien ne l'empêche de bouillonner.

+0

merci, maintenant je comprends. –

0

vous pouvez également ajouter clear à div3.