Wenn Sie IE9 oder niedriger nicht unterstützen müssen, können Sie Flexbox frei verwenden und müssen keine schwebenden Layouts verwenden.
Es ist erwähnenswert, dass die Verwendung von schwebenden Elementen für das Layout heutzutage durch die Verwendung besserer Alternativen immer mehr entmutigt wird.
display: inline-block
- Besser
- Flexbox - Beste (aber eingeschränkte Browserunterstützung)
Flexbox wird von Firefox 18, Chrome 21, Opera 12.10 und Internet Explorer 10, Safari 6.1 (einschließlich Mobile Safari) und dem Standardbrowser 4.4 von Android unterstützt.
Eine detaillierte Browserliste finden Sie unter: https://caniuse.com/flexbox .
(Vielleicht ist es die absolut empfohlene Art, Elemente auszulegen, sobald seine Position vollständig festgelegt ist.)
Mit einem Clearfix kann ein Element seine untergeordneten Elemente automatisch löschen , sodass Sie kein zusätzliches Markup hinzufügen müssen. Es wird im Allgemeinen in Float-Layouts verwendet, in denen Elemente zum horizontalen Stapeln schweben .
Der Clearfix ist eine Möglichkeit, das Containerproblem mit der Höhe Null für schwebende Elemente zu bekämpfen
Ein Clearfix wird wie folgt durchgeführt:
.clearfix:after {
content: " "; /* Older browser do not support empty content */
visibility: hidden;
display: block;
height: 0;
clear: both;
}
Wenn Sie keine IE <8-Unterstützung benötigen, ist auch Folgendes in Ordnung:
.clearfix:after {
content: "";
display: table;
clear: both;
}
Normalerweise müssten Sie Folgendes tun:
<div>
<div style="float: left;">Sidebar</div>
<div style="clear: both;"></div> <!-- Clear the float -->
</div>
Mit clearfix benötigen Sie nur Folgendes:
<div class="clearfix">
<div style="float: left;" class="clearfix">Sidebar</div>
<!-- No Clearing div! -->
</div>
Lesen Sie darüber in diesem Artikel - von Chris Coyer @ CSS-Tricks
div
vollständig auf die richtige Höhe erweitert wird, um seine schwebenden untergeordneten Elemente einzuschließen. webtoolkit.info/css-clearfix.html