Es bedeutet im Wesentlichen, was es sagt; "Dies ist wichtig, ignorieren Sie nachfolgende Regeln und alle üblichen Spezifitätsprobleme, wenden Sie diese Regel an!"
Bei normaler Verwendung wird eine in einem externen Stylesheet definierte Regel durch einen im headDokument definierten Stil außer Kraft gesetzt , der wiederum durch einen Inline-Stil innerhalb des Elements selbst außer Kraft gesetzt wird (unter der Annahme der gleichen Spezifität der Selektoren). Durch das Definieren einer Regel mit dem !importantAttribut '(?) Werden die normalen Bedenken hinsichtlich der' späteren 'Regel verworfen, die die' früheren 'Regeln überschreibt.
Normalerweise überschreibt eine spezifischere Regel auch eine weniger spezifische Regel. Damit:
a {/* css */}
Wird normalerweise außer Kraft gesetzt von:
body div #elementID ul li a {/* css */}
Da der letztere Selektor spezifischer ist (und es normalerweise keine Rolle spielt, wo sich der spezifischere Selektor befindet (im headoder im externen Stylesheet), überschreibt er immer noch den weniger spezifischen Selektor (Inline-Stilattribute werden immer verwendet) Überschreiben Sie den spezifischen Selektor "mehr" oder "weniger", da er immer spezifischer ist.
Wenn Sie jedoch !importantdie CSS-Deklaration des weniger spezifischen Selektors ergänzen , hat diese Priorität.
Das Verwenden !importanthat seine Zwecke (obwohl ich Schwierigkeiten habe, an sie zu denken), aber es ähnelt dem Verwenden einer nuklearen Explosion, um zu verhindern, dass die Füchse Ihre Hühner töten. Ja, die Füchse werden getötet, aber auch die Hühner. Und die Nachbarschaft.
Es macht das Debuggen Ihres CSS auch zu einem Albtraum (aus persönlicher, empirischer, Erfahrung).
Es ist auch für viele Entwickler verwirrend, da in vielen Programmiersprachen das Präfix! bedeutet nicht .
Rustyx
19
Ein Zweck für! Wichtig wäre ein GreaseMonkey-Skript, in dem Sie absichtlich das CSS anderer Personen überschreiben, das wahrscheinlich spezifischer ist als das Ihre.
Zumindest ist es nicht sarkastisch und sagt important!(wichtig NICHT)
user3553260
2
Sie haben geschrieben: "Bei normaler Verwendung wird eine in einem externen Stylesheet definierte Regel durch einen im Kopf des Dokuments definierten Stil außer Kraft gesetzt." Es ist falsch.
Jlguenego
130
Die! Wichtige Regel ist eine Möglichkeit, Ihre CSS-Kaskade zu erstellen, aber es müssen auch immer die Regeln angewendet werden, die Ihrer Meinung nach am wichtigsten sind. Eine Regel mit der Eigenschaft! Important wird immer angewendet, unabhängig davon, wo diese Regel im CSS-Dokument angezeigt wird.
IE4 +, eigentlich mit Fehlern, bis einschließlich 6.
BoltClock
15
Die Verwirrung tritt auf, da dies !in einigen Sprachen ein Symbol für NICHT ist, aber jetzt ist es klarer.
Si8
2
Ich bin besonders froh, dass Sie die Syntax für die Verwendung angegeben haben !important. CSS unterscheidet sich genug von anderen Sprachen, so dass man leicht vergisst, wie man bestimmte Dinge benutzt.
Blainarmstrong
3
@ Si8 - Ja, wegen dieser Verwirrung habe ich immer gedacht, "sie" hätten es eher als important!oder vielleicht IMPORTANT!als definieren sollen !important. Ich frage mich, ob jemand (der das vielleicht liest) weiß, warum er es mit der Interpunktion vor definiert hat. Offensichtlich ist es viel zu spät, um es jetzt zu ändern.
Kevin Fegan
22
!important ist ein Teil von CSS1.
Browser, die dies unterstützen: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1+.
Es bedeutet so etwas wie:
Verwenden Sie mich, wenn es sonst nichts Wichtiges gibt!
!importantist nicht nur auf Safari 3+ beschränkt; Es hat es von Anfang an wie alle anderen Nicht-IE-Browser unterstützt. IE versteht es ab Version 4, unterstützt es jedoch nur ab Version 7
fehlerfrei
12
Es wird verwendet, um die Sortierung in der CSS-Kaskade zu beeinflussen, wenn die Sortierung nach Ursprung erfolgt. Es hat nichts mit Spezifität zu tun, wie hier in anderen Antworten angegeben.
Hier ist die Priorität vom niedrigsten zum höchsten:
Browser-Stile
User Style Sheet Deklarationen (ohne! wichtig)
Autoren-Stylesheet-Erklärungen (ohne! wichtig)
! Wichtige Autoren-Stylesheets
! wichtige User Style Sheets
Danach erfolgt die Spezifität für die Regeln, die noch einen Finger im Kuchen haben.
Antworten:
Es bedeutet im Wesentlichen, was es sagt; "Dies ist wichtig, ignorieren Sie nachfolgende Regeln und alle üblichen Spezifitätsprobleme, wenden Sie diese Regel an!"
Bei normaler Verwendung wird eine in einem externen Stylesheet definierte Regel durch einen im
head
Dokument definierten Stil außer Kraft gesetzt , der wiederum durch einen Inline-Stil innerhalb des Elements selbst außer Kraft gesetzt wird (unter der Annahme der gleichen Spezifität der Selektoren). Durch das Definieren einer Regel mit dem!important
Attribut '(?) Werden die normalen Bedenken hinsichtlich der' späteren 'Regel verworfen, die die' früheren 'Regeln überschreibt.Normalerweise überschreibt eine spezifischere Regel auch eine weniger spezifische Regel. Damit:
Wird normalerweise außer Kraft gesetzt von:
Da der letztere Selektor spezifischer ist (und es normalerweise keine Rolle spielt, wo sich der spezifischere Selektor befindet (im
head
oder im externen Stylesheet), überschreibt er immer noch den weniger spezifischen Selektor (Inline-Stilattribute werden immer verwendet) Überschreiben Sie den spezifischen Selektor "mehr" oder "weniger", da er immer spezifischer ist.Wenn Sie jedoch
!important
die CSS-Deklaration des weniger spezifischen Selektors ergänzen , hat diese Priorität.Das Verwenden
!important
hat seine Zwecke (obwohl ich Schwierigkeiten habe, an sie zu denken), aber es ähnelt dem Verwenden einer nuklearen Explosion, um zu verhindern, dass die Füchse Ihre Hühner töten. Ja, die Füchse werden getötet, aber auch die Hühner. Und die Nachbarschaft.Es macht das Debuggen Ihres CSS auch zu einem Albtraum (aus persönlicher, empirischer, Erfahrung).
quelle
important!
(wichtig NICHT)Also, wenn Sie Folgendes haben:
Die Regel mit dem Wichtigen ist die angewandte (ohne Berücksichtigung der Spezifität ).
Ich glaube,
!important
in CSS1 erschienen, so dass jeder Browser es unterstützt (IE4 bis IE6 mit einer Teilimplementierung, IE7 + voll)Es ist auch etwas, das Sie nicht oft verwenden möchten, denn wenn Sie mit anderen Personen arbeiten, können Sie andere Eigenschaften überschreiben.
quelle
!
in einigen Sprachen ein Symbol für NICHT ist, aber jetzt ist es klarer.!important
. CSS unterscheidet sich genug von anderen Sprachen, so dass man leicht vergisst, wie man bestimmte Dinge benutzt.important!
oder vielleichtIMPORTANT!
als definieren sollen!important
. Ich frage mich, ob jemand (der das vielleicht liest) weiß, warum er es mit der Interpunktion vor definiert hat. Offensichtlich ist es viel zu spät, um es jetzt zu ändern.!important
ist ein Teil von CSS1.Browser, die dies unterstützen: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1+.
Es bedeutet so etwas wie:
Verwenden Sie mich, wenn es sonst nichts Wichtiges gibt!
Kann es nicht besser sagen.
quelle
!important
ist nicht nur auf Safari 3+ beschränkt; Es hat es von Anfang an wie alle anderen Nicht-IE-Browser unterstützt. IE versteht es ab Version 4, unterstützt es jedoch nur ab Version 7Es wird verwendet, um die Sortierung in der CSS-Kaskade zu beeinflussen, wenn die Sortierung nach Ursprung erfolgt. Es hat nichts mit Spezifität zu tun, wie hier in anderen Antworten angegeben.
Hier ist die Priorität vom niedrigsten zum höchsten:
Danach erfolgt die Spezifität für die Regeln, die noch einen Finger im Kuchen haben.
Verweise:
quelle
!important
handelt es sich um einen Modifikator für die kaskadierende Reihenfolge developer.mozilla.org/en-US/docs/Web/CSS/Cascade (siehe Tabelle als Referenz).Es ändert die Regeln für die Überschreibungspriorität von CSS-Kaskaden. Siehe die CSS2-Spezifikation .
quelle