Jak usunąć obraz tła w css?

192

Mam ogólną zasadę, która nadaje wszystkim DIV obraz tła.
Mam jeden div (o id = 'a'), który nie chcę, aby miał obraz tła.
Jaką zasadę css muszę podać?

Itay Moav-Malimovka
źródło

Odpowiedzi:

34
div#a {
    background-image: none;
}
Ruud
źródło
30
div#a {
  background-image: none !important;
}

Chociaż „! Ważne” może nie być konieczne, ponieważ „div # a” ma wyższą specyficzność niż tylko „div”.

M4N
źródło
Ważna część nie jest konieczna, ponieważ deklaracja z #a jest bardziej precyzyjna niż deklaracja div i dlatego ta reguła zostanie zastosowana zamiast ogólnej reguły div.
Ruud
1
Uważam, że ważne jest, aby być niezbędnym w Chrome
dlchambers
17
div#a {
  background-image: url('../images/spacer.png');
  background-image: none !important;
}

Używam przezroczystego obrazu odstępnika oprócz reguły, aby usunąć obraz tła, ponieważ IE6 wydaje się ignorować, background-image: nonenawet jeśli jest zaznaczony !important.

MatthewPearson
źródło
6
Kogo obchodzi ostatnio IE6.
Rob W
-1 Twoja odpowiedź jest nieprawidłowa. Uruchomiłem IE6, a background-image:none;(z ot bez !important) działa bezbłędnie.
Rob W
8
Właściwie to mnie obchodzi - jeden z moich klientów ma izolowane środowisko sieciowe z określonym oprogramowaniem, które nie zostało zaktualizowane. Muszą użyć IE6. Smutne, ale prawdziwe :(
Russ Clarke
5
Wyraź opinię, aby złagodzić opinię Roba W. Był dość nieuprzejmy z tego powodu, że głosował za zgodnością wsteczną, która nie jest nawet włamaniem, niezależnie od tego, czy mógłby to odtworzyć, czy nie
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%);

dla starszych przeglądarek .. jeśli zdefiniowałeś css w niektórych plikach framewokrk.css, takich jak select2.css w IE9 background-image: -webkit-gradient itp., i chcesz, aby za pośrednictwem innego .css przepisał z tekstem „obraz-tła: brak! ważne” nie działa. Użyłem tego samego koloru do pokolorowania gradientu jak kolor tła strony.

buTs
źródło
1

Jeśli twoja reguła div jest sprawiedliwa div {...}, to #a {...}wystarczy. Jeśli jest to bardziej skomplikowane, potrzebny jest „bardziej szczegółowy” selektor, zgodnie ze specyfikacją CSS dotyczącą specyficzności . (#a jest bardziej szczegółowy niż div jest tylko jednym aspektem w algorytmie).

Po prostu zakochany
źródło
1

Gdy background-image: none !important;nie działają. Możesz użyć:

background-size: 0 !important;
Michał Szymański
źródło
0

Czy to nie działa:

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

Mogą występować problemy w starszych przeglądarkach ...

Ben Hall
źródło
0

Zastąp posiadaną regułę następującymi:

div:not(#a) { // add your bg image here //}
circusdei
źródło