Важнее, чем браузер! Важный - PullRequest
0 голосов
/ 09 января 2012

Есть ли способ переопределить !important свойства, определенные в коде CSS браузера, кроме использования стиля для каждого элемента? Похоже, что браузеры загружают свой предварительно скомпилированный CSS после CSS страницы, определенного в теге style или link. Я хочу удалить границы и цвета из стандартных флажков и радиокнопок (appearance не важен, поэтому его легко отключить), мой CSS работает в пользовательских стилях, но на реальных веб-страницах не работает.

Ответы [ 5 ]

1 голос
/ 09 января 2012

Любая страница стилей (автор) переопределяет таблицу стилей браузера по умолчанию. В таблицах стилей браузера нет !important. Специфика здесь не имеет значения, по правилам каскада. Важно то, что некоторые возможности представления не контролируются в первую очередь в CSS. Демонстрация:

<!doctype html>
<style>
*  { border: none; }
</style>
<input value=foo><br>
<input type=checkbox checked>

Это удаляет границу по умолчанию для поля ввода текста. В большинстве браузеров это не влияет на рендеринг чекбоксов, поскольку то, что мы можем видеть как границу, действительно является частью виджета чекбокса. IE, как обычно, ведет себя по-разному, но даже на нем вы не можете удалить «рамку», и если вы используете свою собственную границу для элемента, граница рисуется за пределами рамки.

Могут существовать специфичные для браузера способы воздействия на их поведение другими способами, помимо стандартного CSS. Возможно, вам придется уточнить, что работает «в пользовательских стилях» и в каких браузерах.

0 голосов
/ 09 января 2012
  1. Объявите свои стили, используя селекторы, которые по крайней мере столь же специфичны, как и исходные селекторы.
  2. Отметьте свои основные стили с помощью! Важным
  3. Объявление / включение вашей таблицы стилей после существующих стилей

Вот пример, где последние! Важные объявленные стили имеют приоритет над предыдущими стилями.

http://jsfiddle.net/8QHQk/1/

0 голосов
/ 09 января 2012

Да. Используйте Javascript для удаления стилей из элементов после загрузки.
Или спроектируйте таблицу стилей сразу.

0 голосов
/ 09 января 2012

Что я знаю: внешние CSS, внутренние CSS и встроенные CSS. И его переопределенный порядок:

внешний <внутренний <встроенный. </p>

т.е. внешний css переопределяется внутренним, а внутренний и внешний переопределяется встроенным.

Также мы можем обновить его через javascript.

0 голосов
/ 09 января 2012

Итак, вы хотите «удалить» браузерный CSS по умолчанию?
Я думаю, что вы можете сделать это с помощью перезагрузки CSS, это в основном сбрасывает стилизацию браузеров.Есть много примеров

Вот один: Сброс CSS

...