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?
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:
Versuchen:
div#a {
background-image:none
}
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".
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: none
obwohl es markiert ist !important
.
background-image:none;
(mit oder ohne !important
) funktioniert einwandfrei.
Da in CSS3 möglicherweise mehrere Hintergrundbilder festgelegt werden, wird durch die Einstellung "Keine" nur eine neue Ebene erstellt und nichts ausgeblendet.
http://www.css3.info/preview/multiple-backgrounds/ http://www.w3.org/TR/css3-background/#backgrounds
Ich habe noch keine Lösung gefunden ...
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.
Wenn Ihre Div-Regel gerecht ist div {...}
, ist #a {...}
dies ausreichend. Wenn es komplizierter ist, benötigen Sie einen "spezifischeren" Selektor, wie in der CSS-Spezifikation zur Spezifität definiert . (#a spezifischer als div ist nur ein Aspekt des Algorithmus.)
Wann background-image: none !important;
haben keine Wirkung. Sie können verwenden:
background-size: 0 !important;
#a {}
. Verwenden Sie keine Elementtypen in Selektoren, es sei denn, dies ist erforderlich .