Как переопределить стиль CSS, не вводя новое значение? - PullRequest
4 голосов
/ 18 июня 2010

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

Ответы [ 4 ]

2 голосов
/ 18 июня 2010

Вы не можете.

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

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

1 голос
/ 18 июня 2010

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

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

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

li.link

, или вы можете просто добавить "! Важное" к значению, и это окончательно переопределит все остальное, как это:

color:#000!important;

Надеюсь, это поможет

1 голос
/ 18 июня 2010

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

0 голосов
/ 18 июня 2010

Вы можете сделать это в 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);
}

, но читайте о кросс-браузер css hell first

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...