css box model | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: css box model

Thursday, April 16, 2026

css box model

📚 Seri Belajar CSS · Artikel 3 dari 13

Box Model — Memahami margin, padding, border, dan Ukuran Elemen

Kenapa elemenmu nempel satu sama lain? Kenapa padding-nya nggak mempan? Semua jawabannya ada di sini — di dalam kotak ajaib bernama CSS Box Model.

#CSSBoxModel #Margin #Padding #Border #BelajarCSS
⏱️ Estimasi baca: 8 menit
🎯 Level: Pemula
📅 Diperbarui: 2026

Pernah nggak kamu frustasi karena elemen-elemen di halamanmu nempel rapet banget kayak komuter jam 7 pagi? Atau sudah kasih width: 500px tapi elemennya malah meluber keluar? Nah, itu semua terjadi karena kamu belum akrab dengan CSS box model — konsep paling fundamental yang menentukan bagaimana setiap elemen di web menempati ruang.

Di artikel ketiga dari Seri Belajar CSS ini, kita akan bedah tuntas konsep margin, padding, border, dan cara CSS menghitung ukuran elemen. Setelah ini, kamu nggak bakal bingung lagi soal kenapa layoutmu berantakan. Janji!

🧱 Apa Itu CSS Box Model — dan Kenapa Kamu Harus Peduli?

Bayangkan kamu pesan kue ulang tahun untuk ditaruh di atas meja. Kuenya ada isinya (konten), lalu dilapisi busa pelindung supaya nggak rusak (padding), lalu dibungkus kotak karton (border), dan terakhir ada jarak antara kotak itu dengan kue-kue lain di sekitarnya (margin). Itulah persis cara CSS memperlakukan setiap elemen HTML.

📐 Formula Utama

Setiap elemen HTML = sebuah "kotak" (box)

📦
Content
Isi asli elemen
🫧
Padding
Jarak dalam kotak
🖼️
Border
Garis tepi kotak
↔️
Margin
Jarak antar elemen
Visualisasi Box Model
┌──────────────────────────────────────────────┐
│                   MARGIN                     │  ← Jarak luar (transparan)
│   ┌──────────────────────────────────────┐   │
│   │              BORDER                  │   │  ← Garis tepi (terlihat)
│   │   ┌──────────────────────────────┐   │   │
│   │   │           PADDING            │   │   │  ← Ruang dalam (ikut warna bg)
│   │   │   ┌──────────────────────┐   │   │   │
│   │   │   │      CONTENT         │   │   │   │  ← Isi elemen (teks/gambar)
│   │   │   │    width × height    │   │   │   │
│   │   │   └──────────────────────┘   │   │   │
│   │   └──────────────────────────────┘   │   │
│   └──────────────────────────────────────┘   │
└──────────────────────────────────────────────┘
🔥
Fakta Menarik

Box model ini sudah ada sejak CSS 1 tahun 1996! Artinya sudah hampir 30 tahun konsep ini menjadi fondasi desain web. Semua framework CSS modern seperti Bootstrap, Tailwind, hingga Material UI — semuanya bekerja di atas konsep box model ini.

🔬 Bedah CSS Box Model: Margin, Padding, dan Border Satu per Satu

Oke, sekarang kita masuk ke bagian yang seru. Kita akan bedah masing-masing lapisan dari CSS box model dengan contoh kode yang langsung bisa kamu coba.

1

Padding — Bantal di Dalam Kotak

Kalau konten adalah kuenya, padding adalah busa pelindung di dalam kotak. Padding memberikan ruang antara konten dan tepi (border) elemen. Background color elemen akan mengisi area padding ini.

CSS
.kotak {
  padding: 20px;             /* semua sisi 20px */
  padding: 10px 20px;       /* atas-bawah 10px, kiri-kanan 20px */
  padding-top: 16px;        /* hanya atas */
  padding-bottom: 8px;     /* hanya bawah */
  padding-left: 24px;      /* hanya kiri */
  padding-right: 24px;     /* hanya kanan */
}
💡
Tips

Shorthand padding punya urutan: atas → kanan → bawah → kiri (searah jarum jam). Jadi padding: 10px 20px 30px 40px artinya atas 10, kanan 20, bawah 30, kiri 40.

2

Border — Bingkai Kotak

Border adalah garis tepi yang mengelilingi padding dan konten. Ini yang paling terlihat secara visual. Kamu bisa mengatur ketebalan (width), gaya (style), dan warna (color)-nya.

CSS
.kartu {
  /* format: ketebalan gaya warna */
  border: 2px solid #6366f1;

  /* gaya lain: dashed, dotted, double */
  border: 1px dashed #f59e0b;

  /* sudut membulat (bonus!) */
  border-radius: 12px;

  /* border hanya di satu sisi */
  border-left: 4px solid #ef4444;
}
3

Margin — Jarak Antar Elemen

Margin adalah ruang di luar border — jarak antara elemen kamu dengan elemen lain di sekitarnya. Berbeda dengan padding, area margin transparan (tidak ikut warna background).

CSS
.elemen {
  margin: 16px;             /* semua sisi */
  margin: 0 auto;          /* centering elemen! */
  margin-top: 32px;        /* jarak atas */
  margin-bottom: 0;        /* hilangkan jarak bawah */
}
⚠️
Perhatian: Margin Collapse!

Kalau dua elemen vertikal bertemu, margin mereka akan bergabung (collapse) — bukan dijumlah. Contoh: elemen A punya margin-bottom: 20px dan elemen B punya margin-top: 30px, jarak aktualnya hanya 30px (nilai terbesar), bukan 50px!

🧮 CSS Box Model dan Cara Menghitung Ukuran Elemen yang Benar

Ini bagian yang sering bikin pusing. Kalau kamu kasih width: 300px, apakah elemennya benar-benar 300px? Belum tentu! Ini tergantung property box-sizing.

📊 Perbandingan: content-box vs border-box

Aspek content-box (default) border-box (modern)
Cara kerja width = lebar konten saja width = konten + padding + border
Ukuran total 300 + 40 + 4 = 344px 😱 Tetap 300px
Prediktabilitas Susah diprediksi Mudah diprediksi
Rekomendasi Hindari (warisan lama) ✅ Gunakan ini!
CSS — Simulasi Perhitungan
/* ❌ content-box (default) — ukuran bisa mengejutkan */
.kotak-lama {
  box-sizing: content-box;
  width: 300px;
  padding: 20px;
  border: 2px solid black;
  /* Lebar total = 300 + 20+20 + 2+2 = 344px 😱 */
}

/* ✅ border-box (modern) — prediktabel */
.kotak-modern {
  box-sizing: border-box;
  width: 300px;
  padding: 20px;
  border: 2px solid black;
  /* Lebar total = tetap 300px ✅ */
}

/* 🌟 Cara pros: terapkan border-box ke semua elemen */
*, *::before, *::after {
  box-sizing: border-box;
}
Insight Penting

Hampir semua framework CSS modern (Tailwind CSS, Bootstrap, Foundation) sudah mengeset box-sizing: border-box secara global. Ini adalah praktik terbaik industri. Jika kamu mulai proyek dari nol, selalu tambahkan baris ini di bagian atas CSS-mu!

🛠️ Praktik: Buat Kartu Profil dengan Margin, Padding, dan Border

Teori sudah, sekarang kita praktik! Kita akan buat sebuah kartu profil sederhana yang menerapkan semua konsep margin, padding, border, dan box-sizing dari CSS box model.

1

Siapkan HTML dasarnya

Buat elemen <div> dengan class profil-kartu yang berisi nama dan deskripsi singkat.

2

Aktifkan border-box global

Ini kebiasaan wajib para pro. Tambahkan selector *, *::before, *::after dengan box-sizing: border-box di baris pertama CSS-mu.

3

Terapkan padding untuk ruang dalam

Beri padding yang nyaman agar teks tidak menempel ke tepi kotak. Coba padding: 24px 28px.

4

Tambahkan border yang stylish

Gunakan border: 2px solid #6366f1 dan border-radius: 16px supaya tampak modern.

5

Atur margin untuk centering

Gunakan margin: 0 auto bersama dengan max-width: 400px untuk memusatkan kartu secara horizontal.

CSS — Kartu Profil Lengkap
/* Langkah 2: Reset global */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Langkah 3-5: Styling kartu */
.profil-kartu {
  max-width: 400px;
  margin: 40px auto;        /* centering + jarak atas-bawah */
  padding: 24px 28px;       /* ruang dalam yang nyaman */
  border: 2px solid #6366f1; /* border indigo */
  border-radius: 16px;        /* sudut membulat */
  background-color: #ffffff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.10);
}

.profil-kartu h2 {
  margin-top: 0;         /* hapus margin default heading */
  margin-bottom: 8px;
}

.profil-kartu p {
  margin: 0;            /* hapus margin default paragraf */
}
💡
Tips Pro: Pakai DevTools!

Tekan F12 di browser, pilih elemen, lalu lihat tab Computed atau Box Model. Kamu akan melihat visualisasi langsung dari margin, padding, dan border elemen tersebut dalam warna berbeda. Ini cara terbaik untuk debug layout!

🎉

Kesimpulan: CSS Box Model Bukan Musuhmu!

Sekarang kamu sudah paham bahwa setiap elemen HTML adalah sebuah "kotak" dengan 4 lapisan: content, padding, border, dan margin. Menguasai CSS box model margin padding border berarti kamu sudah menguasai dasar paling vital dari semua layout web.

Yang sudah kamu pelajari hari ini:

  • Padding = ruang dalam, border = bingkai, margin = jarak antar elemen
  • Shorthand padding/margin mengikuti urutan atas → kanan → bawah → kiri
  • Margin collapse terjadi saat dua margin vertikal bertemu
  • box-sizing: border-box membuat kalkulasi ukuran jauh lebih mudah
  • margin: 0 auto adalah trik clasic untuk centering elemen

💬 Ada bagian yang masih membingungkan? Tulis pertanyaanmu di kolom komentar! Share artikel ini ke teman belajarmu, dan jangan lupa subscribe supaya notifikasi artikel berikutnya langsung masuk ke email kamu. 🚀

🏷️ Tag Artikel

#CSS #BoxModel #Margin #Padding #Border #BelajarCSS #WebDevelopment #Tutorial

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux