Як видалити фонове зображення у css?


192

У мене є загальне правило, яке дає всі DIVs фонове зображення.
У мене є один div (з id = 'a'), який я не хочу, щоб він мав фонове зображення.
Яке правило css я повинен його надати?

Відповіді:


342

Спробуйте:

div#a {
    background-image:none
}


3
"Уникнення зайвих селекціонерів предків корисно з міркувань продуктивності." Насправді це не проблема, коли ти не Google.
Давор

Рекомендація W3C щодо селекторів CSS 3> Обчислення специфіки селектора w3.org/TR/css3-selectors/#specificity
TarranJones


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

Хоча "! Важливо" може не бути необхідним, оскільки "div # a" має більш високу специфіку, ніж просто "div".


Важлива частина! Не є необхідною, оскільки декларація з #a є точнішою, ніж декларація div, тому це правило буде застосовано замість загального правила div.
Рууд

1
Мені
здалося, що

17
div#a {
  background-image: url('../images/spacer.png');
  background-image: none !important;
}

Для видалення фонового зображення на додаток до правила я використовую прозорий проміжок, оскільки IE6, здається, ігнорує, background-image: noneнавіть якщо він позначений !important.


6
Кого сьогодні хвилює IE6.
Rob W

-1 Ваша відповідь неправильна. Я запустив IE6, і background-image:none;(з ot без !important) працює бездоганно.
Роб Ш

8
Власне, мені все одно - один з моїх клієнтів має ізольоване мережеве середовище з певним конкретним програмним забезпеченням, яке не оновлювалось. IE6 - це те, що їм доведеться використовувати. Сумно, але правда :(
Russ Clarke

5
Майте нагороду, щоб пом'якшити протиправну роль Роба У. Йому було дуже брутально сприйняти лише зворотну сумісність, яка навіть не є хак, незалежно від того, чи зможе він її відтворити чи ні
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%);

для старих браузерів .. якщо ви визначили css в якомусь framewokrk.css, наприклад, select2.css в фоновому зображенні IE9: -webkit-градієнт і т. д., і ви хочете це через інший .css переписати з "background-image: none! важливо" не працює. Я використовував такий же колір для градієнта кольорів, як колір фону сторінки.



1

Коли background-image: none !important;не мають ефекту. Ви можете використовувати:

background-size: 0 !important;

0

Це не працює:

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

Можливо, проблеми зі старими браузерами ...


0

Замініть у вас правило на таке:

div:not(#a) { // add your bg image here //}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.