Ketika Anda mendalami dunia pengembangan web menggunakan HTML dan CSS, Anda pasti akan menemui istilah yang mungkin terdengar asing bagi pemula, salah satunya adalah **"floating"** atau **"float"**. Pertanyaan mendasar yang sering muncul adalah: **"Floating apa?"**
Secara sederhana, float adalah properti CSS yang digunakan untuk mengatur bagaimana sebuah elemen harus ditampilkan relatif terhadap elemen lain di sekitarnya. Fungsi utamanya adalah menarik sebuah elemen (seperti gambar atau kotak) keluar dari alur normal dokumen (normal flow) dan menempatkannya di sisi kiri atau kanan, sehingga elemen lain (biasanya teks atau elemen blok lainnya) dapat mengalir di sekelilingnya.
Sebelum layout modern seperti Flexbox dan Grid populer, properti float adalah salah satu metode utama yang digunakan para pengembang web untuk membuat tata letak halaman yang kompleks, terutama untuk menempatkan elemen secara berdampingan. Meskipun sekarang banyak digantikan oleh teknologi yang lebih fleksibel, pemahaman tentang float tetap krusial karena:
Ketika Anda menerapkan float: left; pada sebuah elemen, elemen tersebut akan didorong sejauh mungkin ke kiri dalam kontainernya. Kemudian, elemen berikutnya dalam HTML akan mencoba mengambil ruang yang tersisa di sisi kanan elemen yang mengambang tersebut. Begitu pula sebaliknya jika menggunakan float: right;.
Bayangkan Anda memiliki sebuah gambar dan ingin paragraf deskripsi mengelilinginya. Anda akan memberikan float pada gambar tersebut:
.gambar-kiri {
float: left;
margin-right: 15px; /* Memberi jarak antar gambar dan teks */
}
Inilah bagian yang paling sering membingungkan pemula. Ketika elemen di-float, elemen tersebut keluar dari alur normal (normal flow). Akibatnya, elemen induk (parent container) yang menampung elemen float tersebut seringkali 'lupa' bahwa elemen tersebut ada, sehingga tinggi kontainer menjadi nol atau menyusut.
Untuk mengatasi masalah ini, kita perlu melakukan **"Clearing Floats"**. Clearing float artinya memberi tahu elemen berikutnya dalam dokumen bahwa ia tidak boleh naik dan berada di samping elemen yang mengambang. Elemen yang di-clear akan 'turun' dan menempati baris baru di bawah elemen yang mengambang.
::after dan mengatur clear: both;.clear: both; setelah semua elemen float dalam kontainer.Sebagai contoh clearing modern pada kontainer:
.wadah::after {
content: "";
display: table;
clear: both;
}
Meskipun float memiliki peran historis dan masih berguna untuk pembungkusan teks, untuk tata letak halaman secara keseluruhan (misalnya, membuat header, sidebar, dan konten utama), Flexbox dan CSS Grid jauh lebih unggul. Float dirancang untuk mengambangkan item, sementara Flexbox dan Grid dirancang khusus untuk mendistribusikan ruang dan menyelaraskan item dalam satu dimensi (Flexbox) atau dua dimensi (Grid).
Jadi, ketika Anda bertanya "floating apa?", jawabannya adalah sebuah properti CSS yang menarik elemen keluar dari alur normal, memungkinkan konten lain membungkusnya, namun memerlukan teknik pembersihan (clearing) yang tepat agar tata letak tetap stabil.