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.