Zitat:
Zitat von gato
CSS ist wirklich sehr komplex, was dazu führt, dass manche Lösungen komplizierter sind als sie sein müssten. Beispielsweise die clearfix-Lösung: In dem Artikel von 2004, der die Methode als erstes beschrieb, wird in das Pseudoelement erst ein Punkt eingefügt und dann mit allen möglichen Eigenschaften wieder versteckt.
|
Damals war das völlig gerechtfertigt, denn in der Tat war das Clear mit einem leeren generierten Element in den damligen Browserversionen nicht zuverlässig (Geckos und Operas waren die Wackelkandidaten, wenn ich mich recht erinnere).
Zitat:
Dabei reicht
HTML-Code:
.clearfix:after {
content: ''; /* Pseudoelement erzeugen. */
display: block; /* clear funktioniert nur bei Block-Boxen. */
clear: both;
}
|
Bei leerem content würde ich wie von
Nicolas Gallagher vorgeschlagen auf display:table setzen. Denn damit vermeidet man Collapsing Margins unabhängig davon, ob tatsächlich eine Clearwirkung eintritt oder nicht.