Belajar DIV dalam HTML
Styling dengan CSS
oleh: Suryo Adhy Chandra, ST
Apa itu <div>?
<div> adalah elemen blok dalam HTML yang digunakan sebagai wadah (container) untuk elemen-elemen lainnya.
Dengan menggunakan CSS, kita bisa mengatur tampilan <div> — mulai dari posisi kontennya, jarak antar elemen,
sudut yang membulat, hingga efek bayangan.
Pada materi ini kita akan belajar 6 properti CSS yang sering digunakan pada <div>:
- align-items – mengatur posisi item secara vertikal (di dalam flexbox)
- justify-content – mengatur posisi item secara horizontal (di dalam flexbox)
- padding – jarak antara konten dan batas dalam elemen
- margin – jarak antara elemen dengan elemen lain di luar
- border-radius – membuat sudut elemen menjadi membulat
- box-shadow – menambahkan efek bayangan pada elemen
1. align-items
align-items digunakan di dalam elemen yang memiliki display: flex.
Properti ini mengatur posisi anak-anak elemen (flex items) secara vertikal (sumbu silang / cross axis).
Ada 3 nilai yang sering dipakai:
align-items: flex-start
Hasil:
Kotak menempel di atas
align-items: center
Hasil:
Kotak berada di tengah secara vertikal
align-items: flex-end
Hasil:
Kotak menempel di bawah
2. justify-content
justify-content juga digunakan pada elemen dengan display: flex.
Properti ini mengatur posisi anak-anak elemen secara horizontal (sumbu utama / main axis).
justify-content: flex-start
Hasil:
Kotak menempel di kiri
justify-content: center
Hasil:
Kotak berada di tengah secara horizontal
justify-content: flex-end
Hasil:
Kotak menempel di kanan
Apa perbedaan align-items dan justify-content?
Keduanya sama-sama mengatur posisi elemen di dalam flexbox, tapi arahnya berbeda:
| Properti | Mengatur arah | Analogi |
|---|---|---|
justify-content |
Horizontal (kiri ↔ kanan) | Menggeser kotak ke kiri, tengah, atau kanan |
align-items |
Vertikal (atas ↕ bawah) | Menggeser kotak ke atas, tengah, atau bawah |
Cara mudah mengingatnya: justify = sumbu mendatar (horizontal), align = sumbu tegak (vertikal). Jika ingin elemen berada tepat di tengah-tengah container, gunakan keduanya sekaligus:
Hasilnya:
3. padding
padding adalah jarak antara konten di dalam elemen dengan batas (border) elemen itu sendiri.
Bayangkan padding seperti bantalan di dalam kotak.
padding: 0px
padding: 16px
padding: 32px
Semakin besar nilai padding, semakin lebar "bantalan" antara teks dan tepi kotak.
4. margin
margin adalah jarak antara elemen dengan elemen lain di luar.
Kalau padding adalah bantalan di dalam kotak, maka margin adalah jarak antar kotak.
Perhatikan jarak antara setiap kotak biru dan tepi abu-abu berubah sesuai nilai margin.
Margin Negatif
Margin juga bisa diberi nilai negatif. Kalau margin positif mendorong elemen menjauh, margin negatif justru menarik elemen ke arah sebaliknya — sehingga elemen bisa tumpang tindih (overlap) dengan elemen di sekitarnya.
Contoh visual — perhatikan kotak merah ditarik ke atas menimpa kotak biru:
Kapan margin negatif digunakan?
- Membuat elemen keluar dari container secara sebagian (efek desain)
- Mendekatkan dua elemen yang jaraknya terlalu renggang
- Membuat efek tumpang tindih (overlap) antar elemen seperti kartu bertumpuk
- Menyesuaikan posisi elemen tanpa mengubah struktur HTML
Catatan: gunakan margin negatif dengan hati-hati karena bisa membuat tampilan berantakan jika tidak dikontrol dengan baik.
Apa perbedaan margin dan padding?
Keduanya mengatur jarak / ruang kosong, tapi posisinya berbeda:
| Properti | Posisi jarak | Analoginya |
|---|---|---|
padding |
Di dalam elemen — antara konten dan border | Bantalan di dalam kotak |
margin |
Di luar elemen — antara elemen dengan elemen lain | Jarak antar kotak |
Perhatikan ilustrasi berikut:
Area hijau muda di dalam border = padding. | Jarak antara border dan tepi area abu-abu = margin.
Poin penting lainnya:
- Padding ikut memperbesar ukuran elemen secara visual (background warna ikut memenuhi area padding)
- Margin tidak memiliki warna — selalu transparan, hanya ruang kosong di luar elemen
- Margin bisa bernilai negatif, padding tidak bisa negatif
5. border-radius
border-radius digunakan untuk membuat sudut-sudut elemen menjadi membulat.
Semakin besar nilainya, semakin bulat sudutnya.
0px
8px
16px
24px
50%
6. box-shadow
box-shadow menambahkan efek bayangan pada elemen. Format penulisannya:
Penjelasan setiap nilai:
- offset-x: geser bayangan ke kanan (positif) atau kiri (negatif)
- offset-y: geser bayangan ke bawah (positif) atau atas (negatif)
- blur: seberapa kabur bayangan (semakin besar semakin kabur)
- spread: seberapa lebar bayangan menyebar
- warna: warna bayangan — bisa ditulis dengan nama warna, rgb, atau rgba
Warna menggunakan nama warna (red, green, blue, yellow)
Tanpa shadow
red
green
blue
yellow
Warna menggunakan rgb(merah, hijau, biru)
rgb() menggunakan 3 angka untuk menentukan warna. Setiap angka bernilai 0 – 255,
mewakili intensitas warna Red (Merah), Green (Hijau), dan Blue (Biru).
rgb(255,0,0)
rgb(0,200,0)
rgb(0,0,255)
rgb(255,200,0)
Warna menggunakan rgba(merah, hijau, biru, alpha)
rgba() sama seperti rgb(), namun ditambahkan satu nilai lagi yaitu alpha.
Alpha mengatur tingkat transparansi (kejernihan) warna, dengan nilai:
- 0 = sepenuhnya transparan (tidak terlihat)
- 0.5 = setengah transparan
- 1 = sepenuhnya terlihat (seperti rgb biasa)
rgba(255,0,0,1)
alpha = 1 (penuh)
rgba(255,0,0,0.5)
alpha = 0.5 (50%)
rgba(255,0,0,0.1)
alpha = 0.1 (10%)
rgba(0,0,0,0.2)
bayangan umum
rgba(59,130,246,0.7)
glow biru
Yuk Coba Sendiri!
Coba salin dan tempelkan kode di bawah ini ke dalam file HTML kamu, lalu coba ubah-ubah nilainya dan lihat apa yang terjadi:
Setelah berhasil, coba tantangan berikut:
- Ubah
align-items: centermenjadiflex-start— apa yang berubah? - Ubah
border-radiusdari16pxmenjadi50%— apa bentuknya sekarang? - Ubah
box-shadowmenjadi0px 0px 20px rgba(59,130,246,0.8)— apa efeknya? - Coba ubah
paddingdanmarginke nilai yang berbeda-beda!