Comment puis-je supprimer background-image dans css?

J’ai une règle générale qui donne à toutes les DIV une image de fond.
J’ai un div (avec id = ‘a’) dont je ne veux pas qu’il ait l’image de fond.
Quelle règle CSS dois-je lui donner?

Essayer:

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

Bien que le “! Important” puisse ne pas être nécessaire, parce que “div # a” a une spécificité plus élevée que simplement “div”.

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

J’utilise une image d’espacement transparente en plus de la règle pour supprimer l’image d’arrière-plan car IE6 semble ignorer l’ background-image: none même si elle est marquée !important .

Étant donné que dans css3, il est possible de définir plusieurs images d’arrière-plan, le paramètre “none” ne crée qu’un nouveau calque et ne cache rien.

http://www.css3.info/preview/multiple-backgrounds/ http://www.w3.org/TR/css3-background/#backgrounds

Je n’ai pas encore trouvé de solution …

Si votre règle div est juste div {...} , alors #a {...} sera suffisant. Si c’est plus compliqué, vous avez besoin d’un sélecteur “plus spécifique”, tel que défini par la spécification CSS sur la spécificité . (#a être plus spécifique que div n’est qu’un aspect de l’algorithme.)

 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%); 

pour les navigateurs plus anciens .. si vous avez défini css dans certains fichiers framewokrk.css comme select2.css dans IE9 background-image: -webkit-gradient etc. ne fonctionne pas. J’ai utilisé la même couleur pour colorer le dégradé comme la couleur de fond de la page.

Est-ce que ça ne marche pas:

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

Peut avoir des problèmes avec les anciens navigateurs …

Remplacez la règle que vous avez par les suivantes:

 div:not(#a) { // add your bg image here //}