2010-06-17 4 views
3

Я хочу переопределить стиль, который находится в таблице стилей на другом сервере. Однако я не хочу вводить новые значения, я просто хочу как-то отменить этот стиль. Это возможно? Конкурирующий стиль переоценивает некоторые мои другие стили, и я просто хочу в основном отфильтровать удаленный стиль.Как переопределить стиль CSS без ввода нового значения?

+0

Если отменить его, то, что должен ли он по умолчанию? –

ответ

1

Вы можете попробовать настроить его на авто или наследовать, и он может вести себя так, как вы хотите. Что вы хотите изменить?

2

Вы не можете.

Каскад стилей и возврат невозможен. Даже значением по умолчанию является только значение, присвоенное ему во внутренней таблице стилей браузера.

Если вы хотите что-то переопределить, вы должны сделать это явно.

1

Я бы сказал, что вы можете сделать пару вещей:
Сначала вы можете определить свой селектор как можно более конкретным, а это означает, что если вы ставите элемент внутри таблицы (или внутри любого другого элемента), убедитесь, что ваш селектор включает родительские элементы, в качестве примера:

div#container div#navBar ul.navLinks li.link 
{ 
    color:#000; 
} 

Это будет иметь приоритет над чем-то вроде:

li.link 

или вы можете просто добавить «важно!» к значению и окончательно отвергнуть anyth ИНГИ еще, как это:

color:#000!important; 

Надеется, что это помогает

0

вы могли бы сделать это в JavaScript:

// in the following, replace 1 with the index of the 
// stylesheet you want to disable 
var ss = document.styleSheets[1]; 
var rls = ss.cssRules ? ss.cssRules : ss.rules; 
for(var i = 0; i < rls.length; i++){ 
    ss.deleteRule(i); 
} 

, но читать о cross browser css hell первой

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