Belajar Border, Padding dan Margin

Border

Border merupakan sebuah garis yang mengelilingi area konten dan padding (opsional). Kita bisa mengatur tipe, ketebalan, serta warna garis yang ditampilkan sesuai dengan yang kita inginkan. Kita juga bisa mengatur dalam menampilkan sebagian atau keseluruhan garis pada elemen. Mari kita eksplorasi apa saja properties yang dapat mengatur border.

Border Width

Properti border-width digunakan untuk mengatur ketebalan dari border. Nilai dari properti ini dapat berupa pixel atau menggunakan predefined names value seperti thinmedium, dan thick. Kita tidak bisa menggunakan nilai persentase (%) pada properti ini.
Kita dapat mengatur ukuran garis secara individual dengan menggunakan empat properti terpisah seperti ini:

  1. .box {

  2.    border-top-width: 2px;

  3.    border-right-width: 1px;

  4.    border-bottom-width: 1px;

  5.    border-left-width: 2px;

  6. }


Tetapi kita juga dapat menetapkan nilai keempatnya sekaligus dalam satu properti seperti ini

  1. .box {

  2.   border-width: 2px 1px 1px 2px; /*top right bottom left*/

  3. }


Properti border-width dapat ditentukan dengan menggunakan satu, dua, tiga, atau empat nilai. Berikut penjelasannya: 
  • Ketika satu nilai ditentukan, maka nilai berlaku untuk empat sisi.
  • Ketika dua nilai ditentukan, nilai pertama berlaku untuk sisi atas dan bawah, nilai kedua untuk sisi kiri dan kanan.
  • Ketika tiga nilai ditentukan, nilai pertama berlaku untuk sisi atas, nilai yang kedua untuk sisi kiri dan kanan, nilai ketiga untuk sisi bawah.
  • Ketika empat nilai ditentukan, nilai pertama berlaku untuk sisi atas, nilai yang kedua untuk sisi kanan, nilai yang ketiga untuk sisi bawah, dan nilai yang keempat untuk sisi kiri. Urutan tersebut berdasarkan arah jarum jam (clockwise).

Border Style

Kita bisa menetapkan tipe border dengan menggunakan properti border-style. Berikut nilai - nilai yang dapat digunakan pada properti ini:
Nilai Properti
Penjelasan
Gambar
solid
Tipe garis padat (tidak terputus - putus)
20191206204816e7483d3ecd351a5644f8a526f2810172.jpeg
dotted
Garis yang dibentuk dari serangkaian titik-titik (jika ketebalan garis 2px, maka titik-titik akan berukuran 2px dan memiliki jarak 2px antar titiknya).
20191206204816f96ab67ccc666b583503e1a1db1d3987.jpeg
dashed
Garis yang dibentuk dari serangkaian garis pendek.
2019120620481623f0be2be576dfc2b19b5d31be0cf5c3.jpeg
double
Garis yang dibentuk dari dua buah garis padat.
2019120620481697c877ae1ced4cdf81ff39f488d66724.jpeg
groove
Tipe garis yang berbentuk seperti frame
20191206204816d8c7f524bb8cb38b7e50b11ff383f242.jpeg
hidden
Digunakan untuk menyembunyikan garis pada elemen.

Kita juga bisa menetapkan tipe garis secara individual pada sisi elemen dengan menggunakan empat properti terpisah. Contohnya seperti ini:

  1. .box {

  2.    border-top-style: solid;

  3.    border-right-style: dotted;

  4.    border-bottom-style: groove;

  5.    border-left-style: double;

  6.  

  7.    border-width: 4px;

  8.    border-color: red;

  9.    width: 200px;

  10.    height: 50px;

  11. }


Jika kita menerapkan rule seperti di atas, maka hasilnya akan tampak seperti ini:
20191206205000419a870a20940e06c56a2ac904d6ca86.png

Border Color

Properti terakhir adalah border-color. Properti ini digunakan untuk menentukan warna pada garis dengan menggunakan nilai RGB, Hex, atau nama warna pada CSS.

  1. /* menggunakan rgb format */

  2. border-color: rgb(80, 138, 212);

  3.  

  4. /* menggunakan format hex */

  5. border-color: #4ee717;

  6.  

  7. /* menggunakan nama warna */

  8. border-color: red;


Sama seperti properti border yang lain, kita dapat menentukan warna pada individual sisi pada elemen dengan menggunakan properti yang terpisah.

  1. border-top-color: #919191;

  2. border-right-color: #111111;

  3. border-bottom-color: #4ee717;

  4. border-left-color: #00c8eb;


Tetapi kita juga dapat menetapkan nilai keempatnya sekaligus dalam satu properti seperti ini:

  1. border-color: #919191 #111111 #4ee717 #00c8eb;


Hasilnya seperti ini:
20191206205149fdbb63be5a5355399385f510496190ae.png

Shorthand

Untuk menerapkan border pada elemen kita harus mendefinisikan seluruh properti border yang ada. Dimulai dari menetapkan ketebalan (border-width), tipe (border-type), dan warna (border-color). Jika kita lupa menetapkan salah satu properti tersebut, maka garis tidak akan nampak pada elemen.
Dengan begitu tentu untuk menetapkan border pada elemen, kita perlu menuliskan properti yang banyak bukan? Ya memang, tetapi CSS menyediakan jalan pintas (shorthand) untuk membuat border dengan satu properti saja. Properti border memiliki tiga buah nilai yang digunakan untuk menentukan ketebalan, tipe dan warna pada border. Berikut contoh penerapannya:

  1. .box {

  2.    border: 4px dashed #00a2c6;

  3.    width: 200px;

  4. }


Hasilnya seperti ini:
2019120620541196ec08fb33e415ae49bc6c7c1d561e23.png
Perlu kita perhatikan bahwa penulisan urutan harus benar. Nilai pertama digunakan untuk ketebalan, yang kedua untuk tipe, dan yang ketiga untuk warna garis.
2019120620543648015e2677b35c2082d1e4e2983803c2.png

Padding

Padding merupakan jarak antara area konten dan border. Padding banyak diterapkan pada elemen jika elemen tersebut menerapkan warna latar atau pun border. Padding memberikan sedikit ruang sehingga konten di dalam elemen dapat lebih nyaman untuk ditampilkan. Contohnya:

  1. <!doctype html>

  2. <html lang="en">

  3. <head>

  4.    <style>

  5.        p {

  6.            border: 4px solid #00a2c6;

  7.            width: 275px;

  8.        }

  9.  

  10.        p.example {

  11.            padding: 10px;

  12.        }

  13.    </style>

  14. </head>

  15. <body>

  16. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae commodi dignissimos eaque fugiat inventore maiores neque nisi sint. A dolore eaque fuga, iste minus porro provident sit tempore ullam.</p>

  17. <p class="example">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet assumenda blanditiis cum dignissimos enim esse excepturi illum inventore maiores minima, nemo nisi obcaecati officia pariatur qui quibusdam sed. Ab, dolorum?</p>

  18. </body>

  19. </html>


Jika berkas di atas dijalankan pada browser, maka akan tampak seperti ini:
2019120620574568fffb49379df2cdd0a14a20fe3e4008.png
Seperti yang kita lihat, paragraf kedua jauh lebih nyaman dibaca karena terdapat jarak antara teks dan border dari kotak. Kotak pun menjadi sedikit lebar karena adanya padding.
Pixel merupakan satuan yang sering digunakan dalam menetapkan nilai properti ini (meskipun kita bisa juga menggunakan persentase atau ems). Jika menetapkan menggunakan persentase, maka nilai akan menjadi relatif pada elemen induk atau jendela browser (jika tidak memiliki induk elemen).
Kita dapat menentukan nilai padding yang berbeda untuk masing-masing sisi elemen dengan menggunakan:

  1. padding-top: 10px;

  2. padding-right: 15px;

  3. padding-bottom: 10px;

  4. padding-left: 15px;


Atau dengan menggunakan shorthand seperti berikut:

  1. padding: 10px 15px 10px 15px;


Sehingga padding akan diterapkan seperti gambar di bawah ini.
2019120620593859ac0e3661cd1d14f69a19aa3621a9da.png

Margin

Seperti halnya padding, margin merupakan ruang atau jarak pada sebuah elemen. Namun jarak tersebut terletak di luar dari konten dan border elemen. Margin digunakan untuk menjaga elemen agar tidak bertabrakan satu sama lain atau dari tepi jendela browser.
20191206210141ce820f9d08c34ad72fc7bba057d18cc4.png
Sebelum menerapkan margin

2019120621023166ba8e1d60ab813e047cb14a7fe7d209.png
Setelah menerapkan margin 20px.

Margin ini bersifat collapsed, yang artinya dapat menumpuk jika terdapat dua margin yang saling bertumpukan. Anda bisa melihat pada margin bawah dan margin atas pada kedua elemen tersebut. Hal itu menjelaskan mengapa jarak vertikal antar elemen tersebut tidak 40px melainkan 20px. Jika terjadi pertumpukan margin, maka nilai yang paling besar yang akan diterapkan.
Kita dapat menentukan nilai margin yang berbeda untuk masing-masing sisi elemen dengan menggunakan:

  1. margin-top: 10px;

  2. margin-right: 15px;

  3. margin-bottom: 20px;

  4. margin-left: 25px;


Tapi kita juga dapat menggunakan shorthand untuk menetapkan keempat nilai tersebut dalam satu properti

  1. margin: 10px 15px 20px 25px;


Kita juga bisa menggunakan dua nilai saja untuk menentukan nilai margin vertikal dan horizontal.

  1. margin: 10px 15px; /* top dan bottom bernilai 10px, left dan right bernilai 15px */




Komentar