Jeśli nie potrzebujesz obsługiwać IE9 lub niższej wersji, możesz swobodnie korzystać z Flexboksa i nie musisz używać układów swobodnych.
Warto zauważyć, że dziś stosowanie elementów pływających w układzie jest coraz bardziej zniechęcane przy użyciu lepszych alternatyw.
display: inline-block
- Lepszy
- Flexbox - Najlepsza (ale ograniczona obsługa przeglądarki)
Flexbox jest obsługiwany przez Firefox 18, Chrome 21, Opera 12.10 i Internet Explorer 10, Safari 6.1 (w tym Mobile Safari) i domyślną przeglądarkę Androida 4.4.
Szczegółowa lista przeglądarek znajduje się na stronie : https://caniuse.com/flexbox .
(Być może po całkowitym ustaleniu pozycji może to być absolutnie zalecany sposób układania elementów.)
Clearfix to sposób, w jaki element automatycznie usuwa swoje elementy potomne , dzięki czemu nie trzeba dodawać dodatkowych znaczników. Zwykle jest stosowany w układach pływających, w których elementy są unoszone w stos, aby można je było układać poziomo.
Clearfix jest sposobem na rozwiązanie problemu kontenera o zerowej wysokości dla elementów pływających
Usunięcie poprawki wykonuje się w następujący sposób:
.clearfix:after {
content: " "; /* Older browser do not support empty content */
visibility: hidden;
display: block;
height: 0;
clear: both;
}
Lub, jeśli nie potrzebujesz obsługi IE <8, następujące są również w porządku:
.clearfix:after {
content: "";
display: table;
clear: both;
}
Zwykle musisz zrobić coś w następujący sposób:
<div>
<div style="float: left;">Sidebar</div>
<div style="clear: both;"></div> <!-- Clear the float -->
</div>
Z clearfix potrzebujesz tylko:
<div class="clearfix">
<div style="float: left;" class="clearfix">Sidebar</div>
<!-- No Clearing div! -->
</div>
Przeczytaj o tym w tym artykule - Chris Coyer @ CSS-Tricks
div
wola zostanie w pełni rozwinięta do odpowiedniej wysokości, aby zamknąć pływające elementy potomne. webtoolkit.info/css-clearfix.html