Ich habe ein benutzerdefiniertes Stylesheet erstellt, das das ursprüngliche CSS für meine Wordpress-Vorlage überschreibt. Auf meiner Kalenderseite hat das ursprüngliche CSS jedoch die Höhe jeder Tabellenzelle, die mit der !important
Deklaration festgelegt wurde:
td {height: 100px !important}
Gibt es eine Möglichkeit, dies zu überschreiben?
!important
, zu verwenden? Wenn Ihr CSS-Blatt nach der ursprünglichen Vorlage definiert ist, sollte es gut funktionieren.!important
gilt es als schädlich.Antworten:
Überschreiben des! Modifikators!
!important
und geben Sie dem Selektor eine höhere Spezifität (Hinzufügen eines zusätzlichen Tags, einer ID oder einer Klasse zum Selektor).Einige Beispiele mit einer höheren Spezifität (erstens ist am höchsten / überschreibt, drittens ist am niedrigsten):
Oder fügen Sie denselben Selektor nach dem vorhandenen hinzu:
Haftungsausschluss:
Es ist fast nie eine gute Idee zu verwenden
!important
. Dies ist eine schlechte Technik der Entwickler der WordPress-Vorlage. Auf virale Weise werden Benutzer der Vorlage gezwungen, ihre eigenen!important
Modifikatoren hinzuzufügen , um sie zu überschreiben, und die Optionen zum Überschreiben über JavaScript werden eingeschränkt.Es ist jedoch hilfreich zu wissen, wie man es überschreibt, wenn dies manchmal erforderlich ist.
quelle
!important
. Wie eine browser- oder siteweite Stilüberschreibung aus einem Stylish-, AdBlock- oder uBlock-Skript. Oder wenn Sie keinen einigermaßen einfachen Zugriff auf das Basis-CSS haben, das sehr komplex sein kann, sich über viele Dateien verteilt und sich im Laufe der Zeit ändert (und möglicherweise auch verwendet!important
). Wie bei jedem Werkzeug hängt das positive oder negative Potenzial davon ab, wie Sie es verwenden. Die Leute müssen aufhören, Affen zu werden, wenn solche Dinge oder goto / eval / globals / etc. Sind genannt. Könnte auch "WordPress vermeiden" oder "CSS vermeiden" sagen, da das Potenzial für "Durcheinander" zu groß ist.Das
!important
sollte nur verwendet werden, wenn Ihr Stylesheet Selektoren mit widersprüchlicher Spezifität enthält .Aber selbst wenn Sie widersprüchliche Spezifitäten haben, ist es besser, einen spezifischeren Selektor für die Ausnahme zu erstellen. In Ihrem Fall ist es besser, eine
class
in Ihrem HTML zu haben, mit der Sie einen spezifischeren Selektor erstellen können, der die Regel nicht benötigt!important
.Ich persönlich verwende es nie
!important
in meinen Stylesheets. Denken Sie daran, dass das C in CSS für die Kaskadierung vorgesehen ist. Die Verwendung!important
wird dies brechen.quelle
!important
Regel im Stylesheet überschreibt beispielsweise eine normale Regel in einemstyle
Tag. In einigen Situationen scheint es jedoch so zu sein, dass eine spezifischere Regel diese überschreibt. Zum Beispiel, wenn Sie einen Satzfont-size: 24pt !important
aufbody
, können Sie immer noch außer Kraft setzen es mit einemfont-size: 12pt
aufp
. Dies liegt daran, dass Sie die!important
Regel nicht überschreiben, sondern das implizitefont-size: inherit
auf überschreibenp
.Haftungsausschluss: Vermeiden Sie! Wichtig um jeden Preis.
Dies ist ein schmutziger, schmutziger Hack, aber Sie können einen! Wichtigen, ohne! Wichtigen überschreiben, indem Sie eine (Endlosschleifen- oder sehr lang anhaltende) Animation für die Eigenschaft verwenden, für die Sie die Importanten überschreiben möchten.
quelle
Okay, hier ist eine kurze Lektion über CSS-Wichtigkeit. Ich hoffe, dass das unten hilft!
Zuallererst wird jeder Teil des Stils als Gewichtung bezeichnet. Je mehr Elemente Sie haben, die sich auf diesen Stil beziehen, desto wichtiger ist er. Beispielsweise
ist wichtiger als:
Wenn Sie also wichtig verwenden, sollte dies idealerweise immer dann verwendet werden, wenn es wirklich wirklich benötigt wird. Um die Dekleration zu überschreiben, sollten Sie den Stil spezifischer gestalten, aber auch überschreiben. Siehe unten:
Ich hoffe das hilft!!!
quelle
!important
können überschrieben werden, indem .old-class-name {bla bla bla} als .old-class-name neu definiert wird. {bla bla bla} im<style></style>
Tag über der KomponenteMit JavaScript überschreiben
Hat für mich gearbeitet.
quelle
Das kann auch helfen
Dadurch wird jeder Inline-Stil überschrieben
quelle
Auf jeden Fall können Sie außer Kraft setzen
height
mitmax-height
.quelle
Ich möchte eine Antwort hinzufügen, die nicht erwähnt wurde, da ich alle oben genannten Punkte ohne Erfolg ausprobiert habe. Meine spezielle Situation ist, dass ich die semantische Benutzeroberfläche verwende, die
!important
Attribute für Elemente eingebaut hat (äußerst ärgerlich). Ich habe alles versucht, um es zu überschreiben, nur am Ende hat eines funktioniert (mit jquery). Es ist wie folgt:quelle
attr('style', ...
stattdessen verwendet