Series Mahir CSS #18 : Box Model

Author Erick Irwansyah
25 Dec 2024
Series Mahir CSS #18 : Box Model

Hai, bagaimana kabarnya? Kali ini kita akan membahas tentang CSS Box Model, yang merupakan konsep dasar yang harus kamu pahami ketika bekerja dengan layout dan styling di CSS. Box Model adalah fondasi yang menentukan bagaimana elemen di halaman web ditampilkan dan diposisikan. Memahami Box Model akan sangat membantu kamu dalam mengatur jarak antar elemen dan mengelola ruang di halaman web.


Apa Itu Box Model?

Box Model adalah cara browser memodelkan elemen HTML di dalam halaman web. Setiap elemen di halaman web diperlakukan seperti kotak persegi panjang, yang terdiri dari beberapa bagian, yaitu:

  1. Content: Ini adalah bagian inti dari elemen yang berisi konten seperti teks atau gambar.
  2. Padding: Ruang di sekitar konten, di dalam batas elemen, yang memberikan jarak antara konten dan border.
  3. Border: Garis yang mengelilingi padding dan konten. Kamu bisa mengubah warna, ketebalan, dan jenis border ini.
  4. Margin: Ruang di luar border, yang memberi jarak antara elemen tersebut dengan elemen lain di sekitarnya.

Struktur Box Model

Begini cara struktur Box Model ditampilkan:

+----------------------------+
|         Margin              |  <- Margin
+----------------------------+
|     Border                 |  <- Border
+----------------------------+
|   Padding                  |  <- Padding
+----------------------------+
|   Content                  |  <- Content
+----------------------------+

Mari kita bahas setiap bagian secara detail.


1. Content

Bagian Content adalah tempat di mana isi elemen seperti teks, gambar, atau konten lainnya ditampilkan. Ini adalah bagian yang paling penting karena semua konten kamu akan berada di dalam area ini.

Contoh:

div {
    content: "Hello, world!";
    width: 300px;
    height: 100px;
}

2. Padding

Padding adalah ruang di dalam elemen, antara content dan border. Padding memberikan jarak ekstra di dalam kotak elemen dan bisa digunakan untuk memberikan ruang lebih di sekitar konten, sehingga tidak terlalu dekat dengan border.

Contoh:

div {
    padding: 20px;  /* Memberikan jarak 20px di sekitar konten */
}

Kamu juga bisa mengatur padding di setiap sisi secara terpisah:

div {
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
}

3. Border

Border adalah garis yang mengelilingi elemen. Kamu bisa mengubah warna, ketebalan, dan jenis border untuk membuat elemen terlihat lebih menonjol atau untuk tujuan estetika.

Contoh:

div {
    border: 5px solid #3498db;  /* Border tebal 5px dengan warna biru */
}

4. Margin

Margin adalah ruang di luar border, yang memberi jarak antara elemen satu dengan elemen lainnya. Margin digunakan untuk mengatur jarak antara elemen di halaman web. Margin juga bisa memiliki nilai negatif, yang akan menyebabkan elemen tersebut saling bertumpuk.

Contoh:

div {
    margin: 20px;  /* Memberikan jarak 20px di luar border */
}

Jika kamu ingin mengatur margin pada sisi tertentu:

div {
    margin-top: 10px;
    margin-right: 15px;
    margin-bottom: 20px;
    margin-left: 25px;
}

Box Model dalam Praktek

Sekarang, mari kita lihat contoh penggunaan Box Model dalam CSS dengan elemen div. Berikut adalah cara untuk mengatur semua bagian Box Model (content, padding, border, dan margin) dalam satu elemen.

div {
    width: 300px;
    height: 200px;
    padding: 20px;
    border: 5px solid #3498db;
    margin: 30px;
    background-color: #f0f0f0;
}

Pada contoh di atas:

  • Content memiliki ukuran 300px lebar dan 200px tinggi.
  • Padding menambahkan ruang 20px di sekitar konten.
  • Border adalah garis biru dengan ketebalan 5px.
  • Margin menambahkan jarak 30px di luar border, memberikan ruang antara elemen ini dan elemen lainnya.

Box Model dan box-sizing

Secara default, ketika kamu mengatur width dan height pada elemen, nilai tersebut hanya berlaku untuk content saja. Padding, border, dan margin tidak dihitung dalam ukuran elemen yang kamu tentukan.

Namun, kamu bisa mengubah cara perhitungan ukuran elemen dengan menggunakan properti box-sizing. Ada dua nilai utama untuk box-sizing:

  1. content-box (default): Ukuran yang ditentukan untuk elemen hanya untuk content, padding dan border tidak dihitung dalam ukuran elemen.
  2. border-box: Ukuran yang ditentukan untuk elemen sudah termasuk padding dan border. Ini memudahkan kamu agar elemen tetap memiliki ukuran yang tepat meskipun ada padding dan border.

Contoh penggunaan box-sizing:

div {
    width: 300px;
    height: 200px;
    padding: 20px;
    border: 5px solid #3498db;
    margin: 30px;
    box-sizing: border-box;  /* Ukuran 300px sudah termasuk padding dan border */
}

Dengan menggunakan box-sizing: border-box;, elemen div akan tetap memiliki lebar 300px dan tinggi 200px, meskipun ada padding dan border.


Kesimpulan

Box Model adalah konsep dasar yang penting untuk dipahami ketika bekerja dengan elemen di halaman web. Dengan memahami cara kerja content, padding, border, dan margin, kamu akan bisa mengontrol layout dan jarak antar elemen dengan lebih baik. Selain itu, dengan penggunaan box-sizing, kamu bisa membuat perhitungan ukuran elemen lebih mudah dan lebih akurat.

Sekianlah belajar tentang CSS Box Model. Artikel ini sangat berguna sebelum kamu melanjutkan ke tutorial CSS selanjutnya di www.code80vity.com. Semoga kamu lebih mudah mengatur layout dan jarak antar elemen di halaman web! ?

Tutorial Terkait Lainnya

Series Mahir CSS #15 : CSS Transition
Series Mahir CSS #15 : CSS Transition

Hai, kembali lagi! Kali ini kita akan belajar tentang CSS Transitions, yaitu cara memberi efek trans...

Baca Tutorial
Series Mahir CSS #17 : CSS Custom Properties
Series Mahir CSS #17 : CSS Custom Properties

Hai, selamat datang kembali! Kali ini kita akan belajar tentang CSS Custom Properties, atau yang leb...

Baca Tutorial
Series Mahir CSS #7 : CSS Formating
Series Mahir CSS #7 : CSS Formating

Apa Itu Format Teks? Format teks adalah cara kita mengatur tampilan teks di sebuah halaman web. Mis...

Baca Tutorial

Comments

Please login to post a comment.
No comments yet. Be the first to comment!