Heim > Artikel > Web-Frontend > Welche Methoden und Vor- und Nachteile gibt es beim Clearing von Floats?
Warum sollten wir Floats löschen?
Das folgende Beispiel zeigt den Effekt von Floating auf Elemente
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .box2 { width: 100px; height: 40px; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1"> <p class="box2"></p> </p> <p class="box3"></p></body></html>
Das Ergebnis nach dem Hinzufügen des Attributs float: left zu box2 ist wie folgt
Wie im Bild gezeigt, Da für Box1 keine Höhe festgelegt ist, füllt Box3 den Raum automatisch aus. Wenn dies der Fall ist, wird die Seite verwirrt. Deshalb müssen wir diesen Float löschen
Es gibt mehrere Möglichkeiten, den Float zu löschen
(1) löschen: beides
Durch Hinzufügen eines p-Tags unter dem Floating-Element und Einstellung klar: beide Attribute
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .clear { clear: both; } .box2 { width: 100px; height: 40px; float: left; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1"> <p class="box2"></p> <p class="clear"></p> </p> <p class="box3"></p></body></html>
Vorteile: einfach, weniger Code, gute Browserunterstützung
Nachteile: bedeutungslose Tags hinzugefügt
(2) Überlauf: versteckt
Löschen Sie den Float, indem Sie das Attribut overflow:hidden zum übergeordneten Element des Floating-Elements hinzufügen
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .clear { overflow: hidden; zoom: 1; /*处理兼容性问题*/ } .box2 { width: 100px; height: 40px; float: left; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1 clear"> <p class="box2"></p> </p> <p class="box3"></p></body></html>
Vorteile: einfach, weniger Code, gute Browserunterstützung
Nachteil: Überschüssiger Inhalt wird ausgeblendet
(3) Nach der Pseudoklasse hinzufügen
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css"> .box1 { width: 100px; background: #999; } .clear:after { clear: both; content: ""; display: block; visibility: hidden; } .box2 { width: 100px; height: 40px; float: left; } .box3 { width: 100px; height: 40px; background-color: #333; } </style></head><body> <p class="box1 clear"> <p class="box2"></p> </p> <p class="box3"></p></body></html>
Vorteile: gute Browserunterstützung
Nachteile: viel Code
Die dritte Methode wird jetzt von vielen Browsern verwendet. Daher ist es am besten, beim Löschen von Floats die After-Pseudoklasse
zu verwendenDas obige ist der detaillierte Inhalt vonWelche Methoden und Vor- und Nachteile gibt es beim Clearing von Floats?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!