Bagaimana cara menghapus gambar latar dalam css?

192

Saya memiliki aturan umum yang memberikan semua DIV gambar latar belakang.
Saya punya satu div (dengan id = 'a') yang saya tidak ingin memiliki gambar latar belakang.
Aturan css apa yang harus saya berikan?

Itay Moav -Malimovka
sumber

Jawaban:

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

Meskipun "! Penting" mungkin tidak diperlukan, karena "div # a" memiliki kekhususan yang lebih tinggi dari sekedar "div".

M4N
sumber
Bagian penting tidak diperlukan karena deklarasi dengan #a lebih tepat daripada deklarasi div dan oleh karena itu aturan ini akan diterapkan sebagai pengganti aturan div umum.
Ruud
1
Saya menemukan penting untuk diperlukan di Chrome
dlchambers
17
div#a {
  background-image: url('../images/spacer.png');
  background-image: none !important;
}

Saya menggunakan gambar spacer transparan selain aturan untuk menghapus gambar latar belakang karena IE6 tampaknya mengabaikan background-image: nonemeskipun ditandai !important.

MatthewPearson
sumber
6
Siapa yang peduli dengan IE6 hari ini.
Rob W
-1 Jawaban Anda salah. Saya memulai IE6, dan background-image:none;(tanpa ot !important) bekerja dengan sempurna.
Rob W
8
Sebenarnya, saya peduli - salah satu klien saya memiliki lingkungan jaringan yang terisolasi dengan beberapa perangkat lunak khusus yang belum diperbarui. IE6 adalah apa yang harus mereka gunakan. Sedih tapi benar :(
Russ Clarke
5
Punya upvote untuk mengurangi downvote Rob W. Sangat tidak sopan baginya untuk melakukan downvote hanya untuk kompatibilitas mundur yang bahkan bukan peretasan, terlepas dari apakah ia dapat memperbanyaknya atau tidak
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%);

untuk browser yang lebih lama .. jika Anda telah mendefinisikan css di beberapa framewokrk.css seperti select2.css di IE9 background-image: -webkit-gradient dll. dan Anda menginginkannya melalui .css lain, tulis ulang dengan "background-image: none! important" tidak bekerja. Saya menggunakan warna yang sama untuk gradien warna seperti warna latar belakang halaman.

tapi s
sumber
1

Jika aturan div Anda adil div {...}, maka #a {...}akan cukup. Jika lebih rumit, Anda memerlukan pemilih "lebih spesifik", seperti yang ditentukan oleh spesifikasi CSS pada spesifisitas . (# menjadi lebih spesifik daripada div hanyalah satu aspek dalam algoritma.)

Justin Love
sumber
1

Ketika background-image: none !important;tidak berpengaruh. Kamu bisa memakai:

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

Tidakkah ini bekerja:

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

Mungkin ada masalah di browser lama ...

Ben Hall
sumber
0

Ganti aturan yang Anda miliki dengan yang berikut ini:

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