Was !important
bedeutet in CSS?
Ist es in CSS 2 verfügbar? CSS 3?
Wo wird es unterstützt? Alle modernen Browser?
Was !important
bedeutet in CSS?
Ist es in CSS 2 verfügbar? CSS 3?
Wo wird es unterstützt? Alle modernen Browser?
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:
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 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).
important!
(wichtig NICHT)
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.
Also, wenn Sie Folgendes haben:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
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.
!
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 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.
!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.
!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 7
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:
Danach erfolgt die Spezifität für die Regeln, die noch einen Finger im Kuchen haben.
Verweise:
!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 .