2014-05-01 13 views
5

Ich versuche, den Hintergrund einer Website mit Stylish zu überschreiben, aber es funktioniert nicht. Der Hintergrund css für die Website hat auch eine wichtige, und es ist überragend Stilvoll.Wie überschreiben Sie den CSS-Hintergrund, der bereits wichtig ist?

Mein Code:

body { 
    background-image: none !important; 
    background: black !important; 
} 

Jede Hilfe?

+1

ich weiß nichts über stilvolle, aber als eine Vermutung, arbeitet css auf die letzte Regel, die es findet. So ist stilvoll in ähnlicher Weise wie CSS hinzugefügt? Wenn ja, mach einfach das Letzte, was geladen wird, oder zumindest nach deinem CSS. – mmeasor

+0

Stylish fügt in der Regel zuerst CSS ein - was in vielen Situationen nützlich ist, aber nicht in diesem. –

Antwort

3

Sie müssen spezifischere (quick guide to CSS specificity) sein, zum Beispiel mit dem > Selektor:

body { 
    background-image: none !important; 
    background: black !important; 
} 

html > body { 
    background-image: none !important; 
    background: red !important; 
} 

JSBin

+2

oder 'html> Körper' – sbeliv01

+0

@ sbeliv01 Danke! Ich habe das vergessen. – SomeKittens

+1

Wenn Sie keinen entsprechend spezifischeren Selektor finden können, müssen Sie ein Greasemonkey/Tampermonkey-Skript verwenden. –

0

Erstens rate ich Ihnen, nicht zu verwenden, wichtig, sehr oft, versuchen Sie es überhaupt zu vermeiden.

Wenn Sie ein Element haben, können Sie den CSS-Pfad zu diesem Element besser definieren, so dass dies überschrieben wird. Zum Beispiel:

.elem { 
    color: black!important; 
} 

#list1 > .elem { 
    color: red!important; 
} 
+3

Sie haben die Frage nicht gelesen - er schreibt die Seite nicht, jemand anderes hat es getan. Er verwendet eine Erweiterung, um die Seite zu ändern. – SomeKittens

+0

Er kann das Zeug immer noch bearbeiten, wenn er sich mit dem FTP-Server verbinden kann, von dem ich denke, dass er es kann. Das zweite Beispiel würde immer noch funktionieren, selbst wenn er sein CSS in einer benutzerdefinierten Weise wie "Stilvoll" einfügt. "Sie können den CSS-Pfad zu diesem Element besser definieren, damit überschreibt dies" ist nicht die Antwort auf die Frage ??? – Bluedayz

+0

Das OP hat keine Kontrolle über den Server; er kann sicherlich nicht mit FTP verbinden! (Dies gilt für fast jedes Stylish- oder Userscript-Szenario.) Diese Antwort ist meistens falsch für diese Frage (und die andere Antwort erklärt besser die richtigen Teile). Stilvoll ist auch ein Fall, in dem "! Wichtig" nicht nur okay ist, sondern oft notwendig ist. ('! wichtig 'ist schlechte Praxis für Webdesigner, aber nicht für userscripters.) –

0

Die offizielle Dokumentation, wie Spezifität arbeitet is here . In einer hohen Anzahl ist die Basenspezifität einfach (100 * ID rules) + (10 * class rules) + (1 * tag rules).

Wenn Sie auf eine sehr anstößige Website stoßen oder eine sehr breite Regel verwenden möchten, können Sie :not(#some_id_which_you_will_never_find) verwenden, um die Spezifität künstlich zu erhöhen. ID-Regeln haben den höchsten Wert, daher sollten Sie sie verwenden.

Zum Beispiel wollte ich jedes div in einer Website, um sicherzustellen, dass nicht als visibility: hidden markiert und verwendet, um diese: 001

div:not(#oStHDi_0):not(#oStHDi_1):not(#oStHDi_2):not(#oStHDi_3):not(#oStHDi_4):not(#oStHDi_5) { 
    visibility: inherit !important; 
} 

Dies hat eine Spezifität von 601.

In Ihrem Fall body hat Spezifität , html > body ist 002 und body:not(#foobar) ist 101.

Verwandte Themen