ID disini yang terdekat dengan elemen
+diff --git a/CSS/035 CSS Specificity/README.md b/CSS/035 CSS Specificity/README.md new file mode 100644 index 0000000..dfd0370 --- /dev/null +++ b/CSS/035 CSS Specificity/README.md @@ -0,0 +1,156 @@ +## CSS Specificity + +> Jika kamu memberikan style CSS tapi style tersebut tidak diterapkan oleh browser, maka besar kemungkinan masalah kamu di CSS Specificity + +### Apa itu CSS Specificity? + +CSS Specificity sederhananya adalah cara browser menentukan style mana yang akan diterapkan jika ada **selector** yang saling memberikan property stye yang sama tapi valuenya berbeda (bertabrakan). + +Contoh sederhana: + +```html +
Paragraf ini diberikan style bertabrakan
+``` + +```css +p { + color: blue; +} +p { + color: red; +} +``` + +Pada contoh diatas, tag p diberikan style color yang bertabrakan, ada yang memberikan warna biru dan ada yang memberikan warna merah. Disinilah CSS Specificity berperan untuk memilih salah satu style untuk diterapkan kepada tag p, antara warna biru atau warna merah. Kan tidak mungkin untuk menerapkan keduanya atau menganulir keduanya. + +_"Saya paham kok penggunaan selector. Tidak mungkin saya membuat selector yang sama, apalagi sampai memberikan style yang bertabrakan"_ + +Sebagai pemula, kamu mungkin bisa berhati-hati agar tidak memberikan selector yang sama dan tidak memberikan style yang bertabrakan agar tidak perlu memikirkan CSS specificity. Tapi saat kamu terjun ke dunia kerja, kamu akan sangat membutuhkan materi CSS specificity ini. + +Contoh kasus: + +- Saat kamu membagi-bagi style kedalam beberapa file CSS. Contohnya saat kamu ingin memberikan style default bagi setiap tag, property, atau class yang disimpan pada file default.css lalu kamu bekerja pada file style.css. +- Saat kamu copas template html-css orang lain lalu ingin meng-custom-nya (menimpa style menjadi style sendiri) +- Saat kamu menggunakan CSS framework lalu ingin meng-custom-nya (menimpa style menjadi style sendiri) +- Saat kamu bekerja sama dengan developer lain +- dll + +### Bagaimana CSS Specificity bekerja? + +CSS Specificity bekerja dengan cara mengkalkulasi selector dengan memberikan bobot bagi tiap-tiap tipe selector. Selector dengan total bobot paling besarlah yang akan diterapkan. Jika bobotnya sama karena tag yang sama seperti pada contoh sederhana diatas, maka style terakhirlah yang akan diterapkan. Jika bobotnya sama karena sama-sama menggunakan selector id, maka style id terdekat elemenlah yang akan diterapkan. + +Contoh sama-sama menggunakan selector id + +```html +ID disini yang terdekat dengan elemen
+