Co !importantoznacza CSS?
Czy jest dostępny w CSS 2? CSS 3?
Gdzie jest obsługiwany? Wszystkie nowoczesne przeglądarki?
Co !importantoznacza CSS?
Czy jest dostępny w CSS 2? CSS 3?
Gdzie jest obsługiwany? Wszystkie nowoczesne przeglądarki?
Odpowiedzi:
Zasadniczo oznacza to, co mówi; że „jest to ważne, zignoruj kolejne reguły i wszelkie zwykłe problemy ze specyfiką, zastosuj tę regułę!”
W normalnym użyciu reguła zdefiniowana w zewnętrznym arkuszu stylów jest nadpisywana przez styl zdefiniowany w headdokumencie, który z kolei jest nadpisywany przez styl liniowy w samym elemencie (przy założeniu jednakowej specyficzności selektorów). Zdefiniowanie reguły za pomocą !important„atrybutu” (?) Odrzuca normalne obawy dotyczące reguły „późniejszej” nadrzędnej wobec „wcześniejszej”.
Zwykle bardziej szczegółowa reguła zastąpi mniej szczegółową regułę. Więc:
a {
/* css */
}
Jest zwykle uchylany przez:
body div #elementID ul li a {
/* css */
}
Ponieważ ten drugi selektor jest bardziej szczegółowy (i zwykle nie ma znaczenia, gdzie znajduje się bardziej szczegółowy selektor (w headzewnętrznym arkuszu stylów), nadal będzie zastępował mniej szczegółowy selektor (atrybuty stylu w linii zawsze będą nadpisuje selektor „więcej-” lub „mniej-”, ponieważ jest on zawsze bardziej szczegółowy.
Jeśli jednak dodasz !importantdo mniej szczegółowej deklaracji selektora CSS, będzie on miał priorytet.
Używanie !importantma swoje cele (choć staram się o nich myśleć), ale to tak jak używanie wybuchu nuklearnego, aby powstrzymać lisy przed zabijaniem kurczaków; tak, lisy zostaną zabite, ale kurczaki też. I okolica.
Dzięki temu debugowanie CSS jest koszmarem (osobistym, empirycznym, doświadczeniem).
important!(ważne NIE)
Ważna reguła to sposób na kaskadę CSS, ale zawsze należy stosować zasady, które Twoim zdaniem są najważniejsze. Reguła, która ma właściwość! Ważne, będzie zawsze stosowana bez względu na to, gdzie reguła pojawia się w dokumencie CSS.
Jeśli masz następujące elementy:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
reguła z ważną będzie tą zastosowaną (nie licząc specyficzności )
!importantWydaje mi się, że pojawił się w CSS1, więc każda przeglądarka go obsługuje (IE4 do IE6 z częściową implementacją, IE7 + pełna)
Ponadto jest to coś, czego nie chcesz często używać, ponieważ jeśli pracujesz z innymi ludźmi, możesz zastąpić inne właściwości.
!jest symbolem NIE w niektórych językach, ale teraz jest wyraźniejsze.
!important. CSS różni się na tyle od innych języków, że łatwo zapomnieć, jak korzystać z niektórych rzeczy.
important!, a może IMPORTANT!raczej niż !important. Zastanawiam się, czy ktokolwiek (kto mógłby to przeczytać) wie, dlaczego zdefiniował to interpunkcją z przodu? Oczywiście jest już za późno, aby to zmienić.
!important jest częścią CSS1.
Obsługujące go przeglądarki: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1+.
To znaczy coś w stylu:
Użyj mnie, jeśli w pobliżu nie ma nic ważnego!
Nie mogę tego powiedzieć lepiej.
!importantnie ogranicza się tylko do Safari 3+; obsługuje go od samego początku, jak wszystkie inne przeglądarki inne niż IE. IE rozumie to od wersji 4, ale obsługuje ją
Służy do wywierania wpływu na sortowanie w kaskadzie CSS po dokonaniu sortowania według pochodzenia. Nie ma to nic wspólnego ze specyfiką, jak podano tutaj w innych odpowiedziach.
Oto priorytet od najniższego do najwyższego:
Po tym następuje specyfika reguł, które wciąż mają palec w torcie.
Bibliografia:
!importantjest modyfikatorem porządku kaskadowego developer.mozilla.org/en-US/docs/Web/CSS/Cascade (patrz tabela w celach informacyjnych).
Zmienia zasady nadpisywania priorytetu kaskad css. Zobacz specyfikację CSS2 .