Opływanie elementów (floating) to technika często wykorzystywana w HTML i CSS, która umożliwia rozmieszczanie obok siebie elementów, takich jak obrazy, tekst czy bloki zawartości, w linii poziomej. Wykorzystuje się je często do tworzenia układów wielokolumnowych, gdzie elementy mają być ułożone obok siebie. Właściwość float w CSS ma trzy możliwe wartości: left, right lub none.
Oto krótki opis każdej z wartości właściwości float:
float: left - element, który jest ustawiony na float: left, zostaje przesunięty maksymalnie w lewą stronę swojego kontenera. Pozostałe elementy opływają ten element z prawej strony.
float: right - element, który jest ustawiony na float: right, zostaje przesunięty maksymalnie w prawą stronę swojego kontenera. Pozostałe elementy opływają ten element z lewej strony.
float: none - element nie jest opływany, co oznacza, że zajmuje całą dostępną szerokość kontenera i nie pozwala innym elementom na opływanie go ani od lewej, ani od prawej strony.
Przykładowo, jeśli mamy dwa elementy obrazka, z pierwszym ustawionym na float: left, a drugim na float: right, oba obrazy będą umieszczone obok siebie, przy czym pierwszy będzie przesunięty w lewo, a drugi w prawo.
Właściwość clear jest używana do kontrolowania, jak elementy opływają inne elementy. Można to porównać do ustawiania barier w kosmosie, które kierują ruchem unoszących się obiektów.
1div {
2 clear: both; /* żaden element nie będzie opływał tego diva z lewej ani prawej strony */
3}Opływanie jest często używane do tworzenia układów, takich jak nawigacja boczna lub układanie obrazów i tekstu obok siebie.
1<img src="spaceship.png" style="float: left; margin-right: 15px;" />
2<p>Jest to obrazek statku kosmicznego, który przemierza galaktykę. Tekst automatycznie opływa obraz, tworząc estetyczny układ.</p>Opływanie może prowadzić do problemów z układem, gdy kontenery nie rozpoznają opływających elementów jako zajmujących miejsce. Rozwiązaniem może być użycie techniki zwaną "clearfix".
1.clearfix::after {
2 content: "";
3 display: table;
4 clear: both;
5}Dodanie klasy clearfix do kontenera opływających elementów zapewni prawidłowe wyświetlanie.