Wie entferne ich Hintergrundbilder in CSS?


192

Ich habe eine allgemeine Regel, die allen DIVs ein Hintergrundbild gibt.
Ich habe ein Div (mit id = 'a'), das nicht das Hintergrundbild haben soll.
Welche CSS-Regel muss ich geben?

Antworten:




30
div#a {
  background-image: none !important;
}

Obwohl das "! Wichtig" möglicherweise nicht notwendig ist, weil "div # a" eine höhere Spezifität hat als nur "div".


Der! Wichtige Teil ist nicht erforderlich, da die Deklaration mit #a genauer ist als eine Deklaration von div und daher diese Regel anstelle der allgemeinen Div-Regel angewendet wird.
Ruud

1
Ich fand! Wichtig in Chrome notwendig
dlchambers

17
div#a {
  background-image: url('../images/spacer.png');
  background-image: none !important;
}

Ich verwende zusätzlich zur Regel ein transparentes Abstandsbild, um das Hintergrundbild zu entfernen, da IE6 das zu ignorieren scheint, background-image: noneobwohl es markiert ist !important.


6
Wen interessiert IE6 heutzutage?
Rob W

-1 Ihre Antwort ist falsch. Ich habe IE6 gestartet und das background-image:none;(mit oder ohne !important) funktioniert einwandfrei.
Rob W

8
Eigentlich ist es mir wichtig - einer meiner Kunden hat eine isolierte Netzwerkumgebung mit einer bestimmten Software, die nicht aktualisiert wurde. IE6 ist das, was sie verwenden müssen. Traurig aber wahr :(
Russ Clarke

5
Haben Sie eine positive Bewertung, um die negative Bewertung von Rob W zu mildern. Es war ziemlich unhöflich von ihm, nur aus Gründen der Abwärtskompatibilität abzustimmen, die nicht einmal ein Hack ist, unabhängig davon, ob er sie reproduzieren konnte oder nicht
Kavi Siegel


2
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #fff));
background-image: -webkit-linear-gradient(center top, #fff 0%, #fff 50%);
background-image: -moz-linear-gradient(center top, #fff 0%, #fff 50%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0);
background-image: linear-gradient(to bottom, #fff 0%, #fff 50%);

für ältere Browser .. wenn Sie CSS in einigen framewokrk.css wie select2.css im IE9-Hintergrundbild definiert haben: -webkit-gradient usw. und Sie möchten es über eine andere .css-Umschreibung mit "Hintergrundbild: keine! wichtig" funktioniert nicht. Ich habe dieselbe Farbe verwendet, um Farbverläufe wie die Hintergrundfarbe der Seite zu färben.



1

Wann background-image: none !important;haben keine Wirkung. Sie können verwenden:

background-size: 0 !important;

0

Funktioniert das nicht:

.clear-background{
background-image: none;
}

Könnte Probleme mit älteren Browsern haben ...


0

Ersetzen Sie die Regel durch folgende:

div:not(#a) { // add your bg image here //}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.