Jquery / CSS - как очистить набор CSS-фона в другом файле, который я не могу редактировать - PullRequest
4 голосов
/ 08 сентября 2011

Я пытаюсь перезаписать фон кнопки, например:

background: url("path/to/image.jpg") no-repeat scroll left center transparent;

Я хочу избавиться от изображения, но поскольку я не могу получить доступ к файлу, мне нужно перезаписать с помощью CSS или Jquery.

Любая идея, как я могу это сделать, поскольку что-то простое, как background: none, не работает, я не могу использовать Jquery для удаления всего класса, и я не хочу вставлять прозрачный 1x1px png и тратить HTTP-запрос , Изображение должно уйти ... есть идеи, что я могу сделать?

Спасибо за помощь.

Ответы [ 3 ]

6 голосов
/ 08 сентября 2011

Фон является составным свойством, вы можете нацелить только изображение на background-image: none. Больше информации о недвижимости от MDN и W3C .

Имейте в виду, что поддержка браузером для этого может отличаться - я сделал быстрый поиск в Google, и, похоже, IE и Safari могут иметь проблемы с этим.

Чтобы нацелить это свойство в vanilla JS, вы должны использовать верблюжий корпус:

element.style.backgroundImage = 'none';
1 голос
/ 08 сентября 2011

Если !important не справляется с задачей (см. Ответ Пбиркоффа), то вы можете посмотреть прямо на исходный css или использовать какой-либо инструмент проверки (например, firebug). Отсюда вопрос иерархии выбора css (см. http://www.w3.org/TR/CSS21/cascade.html#cascade).). Вам нужно либо создать новое правило, которое имеет приоритет над оригиналом, либо воссоздать точное правило и просто выбить изображение. пример ...

... в original.css:

.something {
  background: url("path/to/image.jpg") no-repeat scroll left center transparent;
}

... в your.css:

.something {
  background-image: none;
}
0 голосов
/ 08 сентября 2011

Важно ли ставить! Важно после значения? например:

background: none!important;
...