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?

Jawaban:




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

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


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.


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.


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.)


1

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

background-size: 0 !important;

0

Tidakkah ini bekerja:

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

Mungkin ada masalah di browser lama ...


0

Ganti aturan yang Anda miliki dengan yang berikut ini:

div:not(#a) { // add your bg image here //}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.