212 votes

Comment supprimer l'image d'arrière-plan en css ?

J'ai une règle générale qui donne à tous les DIVs 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 ?

374voto

AnthonyWJones Points 122520

Essayez :

div#a {
    background-image:none
}

13 votes

3 votes

"Éviter les sélecteurs d'ancêtres inutiles est utile pour des raisons de performance". Pas vraiment un problème lorsque vous n'êtes pas Google.

0 votes

Recommandation du W3C sur les sélecteurs CSS 3 > Calcul de la spécificité d'un sélecteur w3.org/TR/css3-selectors/#specificity

38voto

Ruud v A Points 1037
div#a {
    background-image: none;
}

33voto

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

Bien que le "!important" ne soit peut-être pas nécessaire, car "div#a" a une plus grande spécificité que le simple "div".

0 votes

La partie !important n'est pas nécessaire car la déclaration avec #a est plus précise qu'une déclaration de div et donc cette règle sera appliquée au lieu de la règle générale de div.

2 votes

Je trouve que !important est nécessaire dans Chrome.

19voto

MatthewPearson Points 111
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 de suppression de l'image d'arrière-plan, car IE6 semble ignorer la règle de suppression de l'image d'arrière-plan. background-image: none même s'il est marqué !important .

7 votes

Qui se soucie d'IE6 de nos jours.

0 votes

-1 Votre réponse est incorrecte. J'ai lancé IE6, et le background-image:none; (avec ou sans !important ) fonctionne parfaitement.

8 votes

En fait, je m'en soucie - l'un de mes clients possède un environnement réseau isolé avec un logiciel spécifique qui n'a pas été mis à jour. Ils sont obligés d'utiliser IE6. Triste mais vrai :(

8voto

ItsMe Points 31

Étant donné qu'en css3, on peut définir plusieurs images d'arrière-plan, le fait de définir "none" ne fera que créer une nouvelle couche et ne cachera rien.

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

Je n'ai pas encore trouvé de solution...

0 votes

Je crois que "background : none ;" va remplacer

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X