Иногда !important
полезно, например, если я определил общий стиль для всех ссылок на сайт (селектор, скажем, a
), но когда я хочу переопределить некоторые правила, у меня есть следующий выбор:
!important
Какой путь лучше и может быть существуют некоторые инструкции?
Используйте ! Important
очень, ОЧЕНЬ экономно - он переопределяет практически все, даже встроенные стили, и менее чем очевидным образом мешает "каскаду" стилевых правил, который дает CSS его название. Его легко использовать плохо, и он имеет тенденцию к размножению, особенно при неправильном использовании. Вы можете легко получить элемент с правилами ! Important
, которые вы хотите переопределить, и в этот момент вам часто придется либо реорганизовать свои стили, либо использовать другое правило ! Important
и внести свой вклад к проблеме.
И как только он распространится и вы будете использовать его повсюду, вы снова окажетесь в той же ситуации, в которой оказались бы без него (трудности с указанием элементов, достаточных для переопределения других стилей), но вы также не иметь ! important
больше, потому что все остальное тоже его использует.
Столкнувшись с ситуацией, когда ! Important
выглядит привлекательно - или, что еще хуже, когда он уже используется и распространяется, - предпочтите по возможности провести рефакторинг вашего CSS. (Откровенно говоря, если вам нужен ! Important
вне пользовательской таблицы стилей, обычно это происходит из-за того, что ваши селекторы уже слишком специфичны и / или вы не пользуетесь преимуществами C в CSS.) Вы ' d лучше определить основные стили как можно ближе к элементам html
или body
, а когда вы хотите переопределить, используйте как можно меньше специфичности. Таким образом, у вас будет достаточно места для внесения изменений.Обычно есть причина, по которой вы хотите переопределить стиль, и эти случаи довольно часто можно свести к имени класса, конкретному разделу страницы (читай: конкретному родительскому элементу) и т. Д.
(Единственное реальное исключение Это приходит на ум, если стили, которые вы переопределяете, фактически выходят из-под вашего контроля (например, если вы используете фреймворк, который имеет очень твердое мнение о том, как должна выглядеть ваша страница, вам может быть досадно сложно переопределить что-либо. Я работал с приложениями, которые на самом деле вставляли свои собственные встроенные стили, где их не могло переопределить только правило ! Important
.) Если у вас нет полного доступа к коду, переопределение и рефакторинг могут быть легко выполнены больше проблем, чем они того стоят. Вы можете использовать ! important
, чтобы вернуть себе некоторый контроль, если вы знаете о последствиях.)
Что я могу сказать, так это то, что вы должны стараться избегать этого как можно чаще, потому что это означает наличие избыточного кода и указывает на то, что CSS и стили плохо структурированы.
Но в некоторых случаях его необходимо использовать, и этого нельзя избежать.
Так что просто постарайся.
Избегайте этого , когда вы можете , так как это то, что наиболее пропагандируется, но в то же время это важно.
Взгляните на: