¿Cómo elimino la imagen de fondo en css?

192

Tengo una regla general que le da a todos los DIV una imagen de fondo.
Tengo un div (con id = 'a') que no quiero que tenga la imagen de fondo.
¿Qué regla css tengo que darle?

Itay Moav -Malimovka
fuente

Respuestas:

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

Aunque "! Important" podría no ser necesario, porque "div # a" tiene una especificidad más alta que simplemente "div".

M4N
fuente
La parte! Importante no es necesaria ya que la declaración con #a es más precisa que una declaración de div y, por lo tanto, esta regla se aplicará en lugar de la regla general de div.
Ruud
1
Encontré! Importante ser necesario en Chrome
dlchambers
17
div#a {
  background-image: url('../images/spacer.png');
  background-image: none !important;
}

Utilizo una imagen espaciadora transparente además de la regla para eliminar la imagen de fondo porque IE6 parece ignorarla background-image: noneaunque esté marcada !important.

MatthewPearson
fuente
66
A quién le importa IE6 en estos días.
Rob W
-1 Tu respuesta es incorrecta. Comencé IE6, y el background-image:none;(con ot sin !important) funciona a la perfección.
Rob W
8
En realidad, me importa: uno de mis clientes tiene un entorno de red aislado con algún software específico que no se ha actualizado. IE6 es lo que tienen que usar. Triste pero cierto :(
Russ Clarke
55
Tener un voto positivo para mitigar el voto negativo de Rob W. Fue bastante grosero de su parte votar por la compatibilidad con versiones anteriores que ni siquiera es un truco, independientemente de si podría reproducirlo o no
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%);

para navegadores antiguos ... si ha definido css en algún framewokrk.css como select2.css en IE9 background-image: -webkit-gradient, etc. y lo desea a través de otro .css reescriba con "background-image: none! important" no funciona. Utilicé el mismo color para degradar el color como el color de fondo de la página.

buTs
fuente
1

Si su regla div es justa div {...}, entonces #a {...}será suficiente. Si es más complicado, necesita un selector "más específico", tal como lo define la especificación CSS sobre especificidad . (#a ser más específico que div es solo un aspecto único en el algoritmo).

Sólo en el amor
fuente
1

Cuando background-image: none !important;no tiene efecto. Puedes usar:

background-size: 0 !important;
Michał Szymański
fuente
0

¿Esto no funciona?

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

Podría tener problemas en navegadores antiguos ...

Ben Hall
fuente
0

Reemplace la regla que tiene con lo siguiente:

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