Artinya, pada dasarnya, apa yang dikatakannya; bahwa 'ini penting, abaikan aturan berikutnya, dan masalah kekhususan yang biasa, terapkan aturan ini !'
Dalam penggunaan normal aturan yang didefinisikan dalam stylesheet eksternal ditolak oleh gaya yang ditentukan dalam headdokumen, yang, pada gilirannya, ditolak oleh gaya in-line di dalam elemen itu sendiri (dengan asumsi spesifisitas pemilih yang sama). Mendefinisikan aturan dengan !important'atribut' (?) Membuang kekhawatiran normal sehubungan dengan aturan 'nanti' mengesampingkan yang 'sebelumnya'.
Juga, biasanya, aturan yang lebih spesifik akan menggantikan aturan yang kurang spesifik. Begitu:
a {/* css */}
Biasanya ditolak oleh:
body div #elementID ul li a {/* css */}
Karena pemilih yang terakhir lebih spesifik (dan tidak, biasanya, menjadi masalah di mana pemilih yang lebih spesifik ditemukan (di dalam headatau stylesheet eksternal), ia akan tetap menimpa pemilih yang kurang spesifik (atribut gaya in-line akan selalu menimpa pemilih 'lebih-', atau 'kurang-', karena selalu lebih spesifik.
Namun, jika Anda menambahkan !importantke deklarasi CSS pemilih yang kurang spesifik, itu akan memiliki prioritas.
Menggunakan !importantmemiliki tujuannya (meskipun saya berjuang untuk memikirkannya), tetapi ini seperti menggunakan ledakan nuklir untuk menghentikan rubah membunuh ayam Anda; ya, rubah akan dibunuh, tetapi begitu juga dengan ayam. Dan lingkungannya.
Itu juga menjadikan debugging CSS Anda mimpi buruk (dari pengalaman pribadi, empiris, pengalaman).
Ini juga membingungkan bagi banyak pengembang karena dalam banyak bahasa pemrograman awalan! artinya tidak .
rustyx
19
Satu tujuan! Penting adalah dalam skrip GreaseMonkey di mana Anda sengaja mengesampingkan CSS orang lain yang kemungkinan lebih spesifik daripada milik Anda.
setidaknya itu tidak sarkastik dan mengatakan important!(penting TIDAK)
user3553260
2
Anda menulis: 'Dalam penggunaan normal aturan yang ditentukan dalam stylesheet eksternal ditolak oleh gaya yang ditentukan di kepala dokumen'. Ini salah.
jlguenego
130
Aturan penting adalah cara untuk membuat kaskade CSS Anda, tetapi juga memiliki aturan yang menurut Anda paling penting selalu diterapkan. Aturan yang memiliki properti! Penting akan selalu diterapkan di mana pun aturan itu muncul dalam dokumen CSS.
IE4 +, sebenarnya, dengan bug, hingga dan termasuk 6.
BoltClock
15
Kebingungan terjadi seperti !simbol untuk TIDAK dalam beberapa bahasa tetapi lebih jelas sekarang.
Si8
2
Saya sangat senang Anda memasukkan sintaks untuk digunakan !important. CSS cukup berbeda dari bahasa lain sehingga mudah melupakan cara menggunakan hal-hal tertentu.
blainarmstrong
3
@ Si8 - Ya, karena kebingungan itu, saya selalu berpikir "mereka" harus mendefinisikannya sebagai important!, atau mungkin IMPORTANT!, daripada !important. Saya bertanya-tanya apakah ada orang (yang mungkin membaca ini) yang tahu mengapa mereka mendefinisikannya dengan tanda baca di depan? Jelas, sudah terlambat untuk mengubahnya sekarang.
!importanttidak terbatas hanya pada Safari 3+; itu telah mendukungnya sejak awal seperti semua browser non-IE lainnya. IE memahaminya dari versi 4 dan seterusnya, tetapi hanya mendukungnya bebas bug mulai dari versi 7.
BoltClock
12
Ini digunakan untuk mempengaruhi penyortiran dalam kaskade CSS ketika penyortiran menurut asal dilakukan. Ini tidak ada hubungannya dengan kekhususan seperti yang dinyatakan di sini dalam jawaban lain.
Berikut adalah prioritas dari terendah ke tertinggi:
gaya browser
deklarasi style sheet pengguna (tanpa! penting)
deklarasi style sheet penulis (tanpa! penting)
! Lembar gaya penulis penting
! Lembar gaya pengguna yang penting
Setelah itu kekhususan terjadi karena aturan masih memiliki jari di pai.
Seperti yang ditunjukkan oleh @ fabian-barney !importantadalah pengubah untuk pengembang pesanan cascading.mozilla.org/en-US/docs/Web/CSS/Cascade (lihat tabel untuk referensi).
Doomjunky
7
Ini mengubah aturan untuk mengesampingkan prioritas kaskade css. Lihat spesifikasi CSS2 .
Jawaban:
Artinya, pada dasarnya, apa yang dikatakannya; bahwa 'ini penting, abaikan aturan berikutnya, dan masalah kekhususan yang biasa, terapkan aturan ini !'
Dalam penggunaan normal aturan yang didefinisikan dalam stylesheet eksternal ditolak oleh gaya yang ditentukan dalam
head
dokumen, yang, pada gilirannya, ditolak oleh gaya in-line di dalam elemen itu sendiri (dengan asumsi spesifisitas pemilih yang sama). Mendefinisikan aturan dengan!important
'atribut' (?) Membuang kekhawatiran normal sehubungan dengan aturan 'nanti' mengesampingkan yang 'sebelumnya'.Juga, biasanya, aturan yang lebih spesifik akan menggantikan aturan yang kurang spesifik. Begitu:
Biasanya ditolak oleh:
Karena pemilih yang terakhir lebih spesifik (dan tidak, biasanya, menjadi masalah di mana pemilih yang lebih spesifik ditemukan (di dalam
head
atau stylesheet eksternal), ia akan tetap menimpa pemilih yang kurang spesifik (atribut gaya in-line akan selalu menimpa pemilih 'lebih-', atau 'kurang-', karena selalu lebih spesifik.Namun, jika Anda menambahkan
!important
ke deklarasi CSS pemilih yang kurang spesifik, itu akan memiliki prioritas.Menggunakan
!important
memiliki tujuannya (meskipun saya berjuang untuk memikirkannya), tetapi ini seperti menggunakan ledakan nuklir untuk menghentikan rubah membunuh ayam Anda; ya, rubah akan dibunuh, tetapi begitu juga dengan ayam. Dan lingkungannya.Itu juga menjadikan debugging CSS Anda mimpi buruk (dari pengalaman pribadi, empiris, pengalaman).
sumber
important!
(penting TIDAK)Jadi, jika Anda memiliki yang berikut ini:
aturan dengan yang penting akan menjadi yang diterapkan (tidak termasuk spesifisitas )
Saya percaya
!important
muncul di CSS1 sehingga setiap browser mendukungnya (IE4 ke IE6 dengan implementasi parsial, IE7 + penuh)Juga, itu adalah sesuatu yang tidak ingin Anda gunakan cukup sering, karena jika Anda bekerja dengan orang lain, Anda dapat menimpa properti lainnya.
sumber
!
simbol untuk TIDAK dalam beberapa bahasa tetapi lebih jelas sekarang.!important
. CSS cukup berbeda dari bahasa lain sehingga mudah melupakan cara menggunakan hal-hal tertentu.important!
, atau mungkinIMPORTANT!
, daripada!important
. Saya bertanya-tanya apakah ada orang (yang mungkin membaca ini) yang tahu mengapa mereka mendefinisikannya dengan tanda baca di depan? Jelas, sudah terlambat untuk mengubahnya sekarang.!important
adalah bagian dari CSS1.Browser yang mendukungnya: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1+.
Artinya, kira-kira seperti:
Gunakan saya, jika tidak ada yang penting di sekitar!
Aku tidak bisa mengatakannya lebih baik.
sumber
!important
tidak terbatas hanya pada Safari 3+; itu telah mendukungnya sejak awal seperti semua browser non-IE lainnya. IE memahaminya dari versi 4 dan seterusnya, tetapi hanya mendukungnya bebas bug mulai dari versi 7.Ini digunakan untuk mempengaruhi penyortiran dalam kaskade CSS ketika penyortiran menurut asal dilakukan. Ini tidak ada hubungannya dengan kekhususan seperti yang dinyatakan di sini dalam jawaban lain.
Berikut adalah prioritas dari terendah ke tertinggi:
Setelah itu kekhususan terjadi karena aturan masih memiliki jari di pai.
Referensi:
sumber
!important
adalah pengubah untuk pengembang pesanan cascading.mozilla.org/en-US/docs/Web/CSS/Cascade (lihat tabel untuk referensi).Ini mengubah aturan untuk mengesampingkan prioritas kaskade css. Lihat spesifikasi CSS2 .
sumber