Menu

Tag div HTML: Pengertian, div class, Layout dan Styling

Tag <div> adalah container blok umum yang tidak punya makna sendiri. Pelajari cara mengelompokkan konten dengannya, memberinya gaya dengan class, membuat layout dengan div dan flexbox, dan kapan tag semantik atau tombol adalah pilihan yang lebih baik.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Fungsi tag div

<div> (singkatan dari division) adalah container umum. Div mengelompokkan elemen supaya kamu bisa memberi gaya, mengatur posisi, atau mengendalikannya dengan script sebagai satu kesatuan. Div sendiri tidak terlihat apa-apa: tanpa margin, tanpa border, tanpa font khusus. Div adalah elemen blok, jadi dimulai di baris baru dan membentang selebar ruang yang tersedia.

Hapus baris border di style dan div-nya menjadi tidak terlihat: itulah tampilan default sebuah div. Semua efek visualnya berasal dari CSS.

div class dan id

Div biasanya diberi class, yaitu nama yang ditargetkan oleh CSS-mu. Div yang memakai class yang sama mendapat gaya yang sama:

.card memberi gaya kedua kotak, .card.highlight menambahkan outline biru ke div yang punya kedua class itu. Pakai id saat kamu perlu menunjuk satu div tertentu, misalnya sebagai target link (href="#pro"). Halaman atribut membandingkan class dan id secara detail.

Div berdampingan

Karena div adalah blok, div bertumpuk secara vertikal. Untuk menaruhnya dalam satu baris, jadikan induknya flex container:

display: flex di .row menjajarkan anak-anaknya, gap memberi jarak, dan nilai flex membagi lebarnya (1 : 2 : 1 di sini). Pola induk dan anak ini adalah penggunaan div yang paling umum di situs sungguhan. Untuk menengahkan div, lihat cara menengahkan div.

Div bersarang

Div bisa berisi div lain sedalam apa pun. Setiap level adalah kotak di dalam kotak, yang bisa kamu lihat dengan memberi setiap div border dan sedikit padding:

Buat susunan bersarang sedangkal yang dimungkinkan layout-nya. Setiap pembungkus tambahan adalah satu kotak lagi yang harus dipikirkan saat margin atau lebar tidak bekerja seperti yang kamu harapkan.

div atau tag semantik?

Div tidak mengatakan apa pun tentang isinya. HTML punya tag yang melakukan tugas pengelompokan yang sama sekaligus menyatakan kelompok apa itu:

DaripadaPakaiUntuk
<div class="header"><header>Pembuka atau bar atas sebuah halaman atau bagian
<div class="nav"><nav>Sekumpulan link navigasi
<div class="main"><main>Konten utama, sekali per halaman
<div class="post"><article>Item yang berdiri sendiri: postingan, komentar, kartu produk
<div class="footer"><footer>Footer sebuah halaman atau bagian

Tag-tag ini terlihat persis seperti div sampai kamu memberinya gaya, tapi screen reader mengumumkannya dan membuat pengguna bisa melompat di antaranya, dan mesin pencari membaca strukturnya. Pakai div untuk kotak yang hanya ada demi layout atau styling, seperti pembungkus .row di atas. Halaman HTML semantik membahas semuanya.

Div bukan tombol

Div dengan handler klik terlihat bisa diklik oleh pengguna mouse, tapi pengguna keyboard tidak bisa mencapainya dengan Tab atau menekannya dengan Enter, dan screen reader tidak mengumumkannya sebagai tombol:

Pakai <button> untuk aksi dan <a href> untuk navigasi. Keduanya bisa difokus dan berfungsi dengan keyboard secara gratis.

Kesalahan umum

  • Div di dalam <p>. Paragraf tertutup sebelum div. Jadikan div sebagai elemen luar, atau pakai <span> di dalam paragraf.
  • Div soup. Halaman yang hanya terdiri dari div tidak punya struktur bagi screen reader. Ganti div dengan <header>, <nav>, <main> dan <footer> di tempat yang cocok.
  • Div yang bisa diklik. Pakai <button> atau link.
  • Berharap div selebar teksnya. Div mengambil lebar penuh. Pakai display: inline-block, width: fit-content, atau <span> kalau kamu ingin div menyusut.
  • Memakai ulang id di beberapa div. Pakai class untuk apa pun yang berulang.

Pertanyaan yang sering diajukan

Apa itu div di HTML?

<div> adalah container umum. Div mengelompokkan elemen lain supaya kamu bisa memberi gaya atau mengatur posisinya bersama-sama, dan div tidak punya makna sendiri: browser menampilkannya sebagai blok yang dimulai di baris baru dan mengambil seluruh lebar yang tersedia.

Apa arti div class?

<div class="card"> adalah div dengan atribut class. Class adalah nama yang dipakai CSS untuk memberinya gaya (.card { ... }) dan dipakai JavaScript untuk menemukannya. Banyak div bisa memakai class yang sama, dan satu div bisa punya beberapa class: class="card featured".

Bagaimana cara menaruh dua div berdampingan?

Bungkus keduanya dengan div induk dan beri induknya display: flex. Anak-anaknya lalu berjajar dalam satu baris. Tambahkan gap untuk jarak di antaranya dan flex: 1 di setiap anak supaya lebarnya terbagi rata.

Sebaiknya pakai div atau section?

Pakai <section>, <header>, <nav>, <main>, <article> atau <footer> saat kontennya punya peran itu, karena screen reader dan mesin pencari memahaminya. Pakai <div> saat kamu hanya butuh kotak untuk styling atau layout.

Bolehkah aku menaruh div di dalam tag p?

Tidak. Paragraf hanya boleh berisi konten inline. Browser menutup <p> begitu melihat <div>, sehingga gayamu rusak. Pakai div sebagai elemen luar, atau <span> di dalam paragraf.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai