Penggunaan !important di CSS


Apakah pendeklarasian !important di CSS diperlukan? Apakah CSS kita akan ‘bekerja’ sesuai dengan yang kita inginkan kalau !important tidak dideklarasikan?

Jawabannya simple, tergantung. Pendeklarasian !important sebenarnya tidak terlalu diperlukan di beberapa bagian. Tapi di beberapa hal, memang terkadang harus dipergunakan. Misalnya di utility classes atau di print style.

Important artinya penting dalam bahasa indonesia. Buat yang belum tahu, !important di CSS biasanya dipergunakan untuk deklarasi style yang sifatnya sangat penting. Walaupun setelahnya ada pendeklarasian style yang juga mengubah selector yang sama. Mungkin agak susah dipahami, tapi sedikit contoh mungkin akan membantu.

Tanpa !important

CSS

h1 { color: #ff425f; }
.black-text { color: #000; }

HTML

<h1 class="black-text">Test</h1>

Hasil:

Tanpa !important

Dengan !important

CSS

h1 { color: #ff425f !important; }
.black-text { color: #000; }

HTML

<h1 class="black-text">Test</h1>

Hasil:

Dengan !important

Pada contoh di atas, kita menyatakan bahwa h1 hurufnya berwarna pink dan black-text hurufnya berwarna hitam. Saat kita menggunakan 2 selector tersebut di 1 elemen, keduanya bisa menghasilkan sesuatu yang berbeda.

Pada contoh pertama, warna pink di h1 tidak ‘bekerja’ sesuai dengan yang kita nyatakan sebelumnya karena class black-text di deklarasikan setelahnya. Sehingga teks yang dihasilkan berwarna hitam.

Sedangkan pada contoh kedua, teks tetap berwarna pink karena kita mendeklarasikan !important. Walaupun setelahnya ada class black-text tapi karena pendeklarasian !important jadi teks tetap berwarna pink.

Pendeklarasian !important tidak diwajibkan. Bahkan menurut gue sangat tidak dianjurkan. Karena kalau setelahnya kita juga melakukan styling terhadap suatu elemen bisa saja deklarasi kita tidak dipergunakan oleh browser kecuali kita menyatakan !important di deklarasi kita.

Di beberapa hal, deklarasi !important memang kadang sangat diperlukan. Sejauh ini gue menggunakan !important di beberapa utility class. Beberapa contoh:

.hidden, .visible-print { display: none !important; }
.list-no-style { list-style: none !important; }

Dan di print style juga diperlukan, agar saat di print deklarasi yang kita nyatakan memang benar-benar ‘bekerja’ sebagaimana mestinya, contoh:

@media print {
  /* html5boilerplate */
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  img {
    max-width: 100% !important;
  }
  /* bootstrap */
  .hidden-print {
    display: none !important;
  }
  .visible-print {
    display: block !important;
  }
}

Sudah paham kan? Sebenarnya pertanyaan diatas mendadak muncul beberapa bulan yang lalu tapi baru bisa dituliskan sekarang karena agak susah juga untuk menjelaskannya. Setelah beberapa bulan, penjelasannya tetap aja berantakan. Mohon maaf ya kalau agak susah dipahami.

Post Lainnya

Perjalanan Sebuah Memori

Mencoba mengingat kembali perjalanan berbagai macam memori beserta ukurannya yang pernah saya temui.

Blogging Era Modern

Jadi beberapa hari yang lalu (atau kemaren ?), ada tweet berupa link. Tweet itu memiliki hashtag #30DaysWritingChallenge. Kaget juga ternyata kalau bisa seproduktif itu dalam hal membuat tulisan apapun setiap hari selama 30 hari.

Manusia Makhluk yang Lancang

Manusia adalah makhluk yang unik dan memiliki kelebihan dan kekurangan tersendiri. Salah satu kekurangan manusia adalah kelancangan yang dapat dilihat dari cara berinteraksi dengan Tuhan.

Komentar

Komentar akan tampil setelah diterima.