2013-06-04 5 views
4

У меня есть DIV, который определен следующим образом: (!, Который я ненавижу это)не может переопределить встроенный стиль! важная собственность?

<div style="background-color: rgb(217, 240, 211) ! important; color: rgb(0, 102, 2) ! important;" class="div_box">... ... 
</div> 

поскольку ДИВ в настоящее время использует встроенный стиль мне нужно переопределить цвет фона, а также цвет.

Я пробовал:

.div_box[style] { 
background-color: rgb(216, 219, 215) ! important; 
color: rgb(94, 94, 94) ! important; 
} 

, но не работает. Также попытался .div_box {...} и все еще не работает.

Итак, мой вопрос: как я переопределяю вышеуказанный стиль div без ручного изменения встроенного стиля?

+2

! Важная информация должна быть написана без места и приклеена к последнему значению :) color: rgb (94, 94, 94)! Important; –

+1

Вы не можете переопределить встроенные! Важные стили. – bwoebi

+0

Статья, посвященная [специфике] (http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/) в CSS :) – naththedeveloper

ответ

3

Inline CSS переопределяет таблицы стилей CSS. Оба они отмечены важными в вашем случае, поэтому вы не можете использовать этот трюк css для изменения цвета div.

Короткий ответ, вы не можете делать то, что хотите. Это возможно только в том случае, если встроенный CSS не был помечен как важный.

+1

True. Обходным путем для примера может быть использование вставки-тени с большим разбросом. '.div_box {box-shadow: inset 0px 0px 0px 300px rgb (216, 219, 215); } ' –

4

http://jsfiddle.net/UkpnZ/3/

Поскольку вы не можете удалить встроенный стиль, как было указано (что я пропустил), если вы можете использовать Jquery, вы можете использовать это:

$('.div_box').css('background-color', ''); 
$('.div_box').css('color', ''); 

обирать цвет фона и атрибут цвета из встроенного стиля, где появляется поле .div. Единственная добавленная проблема здесь заключается в том, что она будет разделять ее везде, где вызывается класс.

Используя этот метод, вы больше не нуждаетесь в !important в своей таблице стилей.

+0

'Так что мой вопрос в том, как я могу переопределить вышеупомянутый стиль div без ручного изменения встроенного стиля?' - Читайте пожалуйста – Adrift

+0

Обновлено, я пропустил это. –

+0

Я знаю, что я всегда могу использовать javascript/jquery, чтобы вынуть/изменить эти стили, просто я предпочитаю использовать css для переопределения. Жаль, что это невозможно сделать, поскольку строка была отмечена как! Important – Josh

Смежные вопросы