Рубрика CSS

Декларация !important в CSS

Декларация !important была валидна начиная с CSS1, но она, похоже, приобрела плохую репутацию за эти годы. Хотя если ее использовать с осторожностью, то это будет полезным и мощным инструментом, который заслуживает свое место в мире  CSS. Данная статья предлагает руководство по тому, как работает декларация  и как ее использовать.

Как использовать?

Декларация !important – это ключевое слово, которое может быть добавлено в конце любого свойства/значения CSS. Например:

p {margin-left: 5px !important}

или

p {margin: 10px 5px 0 10px !important}

Каково ее влияние?

CSS присваивает вес для каждого правила в зависимости от специфики выбора и позиции в источнике. Это определяет, какой стиль применяется к элементу HTML.

Если появляются два конфликтующих правила, то для решения проблемы применяются следующие принципы:

  1. Источник правил – если таблица стилей сайта конфликтует с пользовательской таблицей стилей, то приоритетными будут правила пользовательской таблицы стилей.
  2. Специфика -  когда два или более правил относятся к одному и тому же элементу, устанавливают то же самое свойство и имеют ту же самую важность и один источник, то будет применено правило определенного селектора.
  3. Порядок – если у двух правил один и тот же вес, будет применяться последнее правило, объявленное в таблице стилей.

Иногда необходимо поменять приоритет правил. Сделать это можно  при помощи декларации !important в CSS. Если декларация !important используется в каком-либо свойстве/значении, то это значение становится самым важным для того свойства и отменяет любые другие.

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

p {margin-left: 5px !important}
#id p {margin-left: 10px}

В сокращенном варианте это выглядит так:

p {margin: 10px 5px 0 10px !important}

То же самое по каждому свойству в отдельности:

p {
margin-top: 10px !important;
margin-right: 5px !important;
margin-bottom: 0 !important;
margin-left: 10px !important
}

Когда необходимо использовать !important?

Вот несколько примеров использования декларации !important:

IE 5/6

Internet Explorer 5 и 6 версии игнорируют декларацию !important, если одно и то же свойство объявлено дважды.

p {margin-left: 5px !important;
margin-left:10px}

Internet Explorer 5 и 6 применят значение 10px к каждому параграфу, в то время как все другие браузеры применят значение 5px.

Замена inline-стилей

Декларация !important может использоваться для переопределения inline-стилей, динамически сгенерированные WYSIWYG-редакторами в CMS.

Форматирование текста редактором WYSIWYG осуществляется с помощью вставленных в код HTML стилей. Но эти inline-стили могут быть изменены при помощи декларации !important.

Например, пользователь хочет вывести строку текста красным цветом:

<div id="content"><p style="color:red">Some text</p></div>

Но автор сайта может переопределить этот стиль, чтобы текст во всех параграфах выводился в черный цвет.

#content p {color:black !important}

Стилевые файлы для печати

Декларация !important может также использоваться в таблицах стилей для печати, чтобы удостовериться, что стили будут применены и не отменены каким-либо другим правилом.

Минусы

Единственный способ переопределить декларацию !important – это использование более конкретной  декларации !important. Все это делает таблицу стилей  более запутанной и трудной для понимания.

Полезно знать

В CSS1 декларация !important в таблице стилей автора имела приоритет над таблицей стилей пользователя. Этот порядок был отменен в CSS2, то есть пользователь всегда может переопределить стиль автора, если захочет.

Заключение

Использование декларации !important может сделать файл стилей сложным в понимании, но если ее использовать рационально, то можно сохранить больше времени и сил.

Источник: www.webcredible.co.uk.
Перевод: Администратор сайта explorer-soft.com.

Создан:09.04.2010 | Просмотров: 2,515



 

Оставить комментарий



Перед отправкой формы:
 
 
 
 
для статистики
 

Поиск

 
 

Лента RSS