Floating CSS

Kotak floating dapat bergerak ke arah kiri atau kanan, hingga luar pinggirnya menabrak pinggir kotak yang mengandung atau pinggir kotak floating lainnya.

Karena kotak floating tidak berada di alur normal dokumen, jadi kotak blok di alur normal dokumen bertindak seperti jika kotak floating tidak ada.

Floating CSS

Lihat gambar di bawah, saat kotak 1 bergerak ke arah kanan, ia keluar dari alur dokumen dan bergerak ke arah kanan, hingga sisi kanan nya mendekati sisi kanan kotak yang mengandung:

Contoh floating CSS - Elemen yang menggerakkan ke kanan

Lihat gambar di bawah, saat kotak 1 bergerak ke arah kiri, ia keluar dari alur dokumen dan bergerak ke arah kiri, hingga sisi kiri nya mendekati sisi kiri kotak yang mengandung. Karena ia tidak lagi berada di alur dokumen, ia tidak mengambil ruang, sebenarnya menutupi kotak 2, sehingga kotak 2 menghilang dari penglihatan.

Jika semua tiga kotak bergerak ke arah kiri, kotak 1 bergerak ke arah kiri hingga mendekati kotak yang mengandung, dan dua kotak lainnya bergerak ke arah kiri hingga mendekati kotak floating sebelumnya.

Contoh floating CSS - Elemen yang menggerakkan ke kiri

Sebagaimana terlihat di gambar di bawah, jika kotak yang mengandung terlalu sempit untuk menampung tiga elemen floating yang berbaris horizontal, maka blok floating lainnya akan bergerak ke bawah hingga terdapat ruang yang cukup. Jika tinggi elemen floating berbeda, mereka mungkin akan 'terhalang' saat bergerak ke bawah oleh elemen floating lainnya:

Contoh floating CSS 2 - Elemen yang menggerakkan ke kiri

Atribut floating CSS

Dalam CSS, kita melaksanakan floating elemen melalui properti float.

Untuk mendapatkan pengetahuan lebih lanjut tentang properti float, kunjungi buku referensi:Atribut floating CSS

Kotak baris dan pembersihan

Kotak baris di sebelah kotak floating disingkatkan, sehingga memberikan ruang bagi kotak floating, dan kotak baris mengelilingi kotak floating.

Oleh itu, membuat kotak floating dapat membuat teks mengelilingi gambar:

Baris kotak disekitar floating kotak

Untuk menghentikan kotak baris mengelilingi kotak floating, perlu mengaplikasikan kotak itu Atribut clear. nilai atribut clear dapat berupa left, right, both atau none, yang menunjukkan sisi mana dari kotak yang tidak harus mendekati kotak mengambang.

Untuk mencapai efek ini, di dalam elemen yang dipersihkan,Margin atasTambahkan ruang yang cukup di atas untuk membuat边缘 elemen menurun vertikal ke bawah dari boks mengambang:

Contoh atribut clear - Melaksanakan clear terhadap baris kotak

Ini adalah alat yang berguna, yang membuat elemen di sekeliling memberi ruang bagi elemen mengambang.

Berikut adalah contoh kode yang anda mungkin tulis jika ingin membelokkan gambar ke kiri blok teks dan ingin gambar dan teks disertai dalam elemen lain yang memiliki warna latar dan garis pinggir:

.news {
  background-color: gray;
  border: solid 1px black;
  }
.news img {
  float: left;
  }
.news p {
  float: right;
  }
<div class="news">
<img src="news-pic.jpg" />
<p>some text</p>
</div>

Dalam situasi ini, muncul masalah. Karena elemen mengambang keluar dari alur dokumen, div yang melingkungi gambar dan teks tidak mengambil ruang.

Bagaimana untuk membuat elemen yang melingkungi mengelilingi elemen mengambang secara visual? Perlu menerapkan clear di tempat yang mana-mana dalam elemen ini:

Contoh atribut clear - Melaksanakan pembersihan terhadap elemen kosong

Sayangnya, muncul masalah baru, karena tidak ada elemen yang dapat diterapkan pemersihan, jadi kami hanya dapat menambah elemen kosong dan memersihkannya.

.news {
  background-color: gray;
  border: solid 1px black;
  }
.news img {
  float: left;
  }
.news p {
  float: right;
  }
.clear {
  clear: both;
  }
<div class="news">
<img src="news-pic.jpg" />
<p>some text</p>
<div class="clear"></div>
</div>

Dengan cara ini, kami dapat mencapai efek yang diinginkan, tetapi perlu menambah kode yang berlebihan. Kadang-kadang ada elemen yang dapat diterapkan clear, tetapi kadang-kadang harus menambah tanda yang tidak berarti untuk melakukan layout.

Walau bagaimanapun, kami masih memiliki cara lain, yaitu mengambang div wadah:

.news {
  background-color: gray;
  border: solid 1px black;
  float: left;
  }
.news img {
  float: left;
  }
.news p {
  float: right;
  }
<div class="news">
<img src="news-pic.jpg" />
<p>some text</p>
</div>

Dengan cara ini, kami mendapatkan efek yang diinginkan. Sayangnya, elemen berikutnya akan terpengaruh oleh elemen mengambang ini. Untuk memecahkan masalah ini, beberapa orang memilih untuk mengambang semua benda di dalam layout, kemudian menggunakan elemen yang berarti (biasanya kaki laman situs) untuk memersihkan pengambangan. Ini membantu mengurangi atau menghapus tanda yang tidak perlu.

Faktanya, semua halaman di laman CodeW3C.com menggunakan teknologi ini. Jika anda buka file CSS yang kami gunakan, anda akan melihat kami melakukan pemersihan div kaki laman, sementara tiga div di atas kaki laman mengambang ke kiri.

Atribut clear CSS

Kami baru-baru ini membincangkan secara mendalam prinsip kerja pemersihan CSS dan cara aplikasi atribut clear. Jika anda mahu belajar lebih banyak tentang atribut clear, sila lawati panduan rujukan:Atribut clear CSS

Contoh floating dan pembersihan

Pemakaian sederhana atribut floating
Membuat gambar floating ke kanan dalam paragraf
Membuat gambar dengan border dan margin floating ke kanan dalam paragraf
Membuat gambar floating ke kanan dalam paragraf. Menambahkan border dan margin ke gambar.
Gambar dengan judul floating ke kanan
Membuat gambar dengan judul floating ke kanan
Membuat huruf pertama paragraf floating ke kiri
Membuat huruf pertama paragraf floating ke kiri dan menambahkan gaya ke huruf ini.
Membuat menu horizontal
Membuat menu horizontal dengan floating yang memiliki tautan satu baris.
Membuat halaman utama tanpa tabel
Membuat halaman utama dengan judul halaman, kaki halaman, daftar referensi kiri dan konten utama.
Menghapus sisi elemen
Contoh ini menunjukkan bagaimana menggunakan elemen floating untuk menghapus elemen floating di sisi elemen lain.