Если я избегаю использования! важный в CSS?

Иногда !important полезно, например, если я определил общий стиль для всех ссылок на сайт (селектор, скажем, a), но когда я хочу переопределить некоторые правила, у меня есть следующий выбор:

  • Используйте более определенный (более длинный) селектор
  • Использовать !important

Какой путь лучше и может быть существуют некоторые инструкции?

11
задан artvolk 6 August 2010 в 20:58
поделиться

3 ответа

Используйте ! Important очень, ОЧЕНЬ экономно - он переопределяет практически все, даже встроенные стили, и менее чем очевидным образом мешает "каскаду" стилевых правил, который дает CSS его название. Его легко использовать плохо, и он имеет тенденцию к размножению, особенно при неправильном использовании. Вы можете легко получить элемент с правилами ! Important , которые вы хотите переопределить, и в этот момент вам часто придется либо реорганизовать свои стили, либо использовать другое правило ! Important и внести свой вклад к проблеме.

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

Столкнувшись с ситуацией, когда ! Important выглядит привлекательно - или, что еще хуже, когда он уже используется и распространяется, - предпочтите по возможности провести рефакторинг вашего CSS. (Откровенно говоря, если вам нужен ! Important вне пользовательской таблицы стилей, обычно это происходит из-за того, что ваши селекторы уже слишком специфичны и / или вы не пользуетесь преимуществами C в CSS.) Вы ' d лучше определить основные стили как можно ближе к элементам html или body , а когда вы хотите переопределить, используйте как можно меньше специфичности. Таким образом, у вас будет достаточно места для внесения изменений.Обычно есть причина, по которой вы хотите переопределить стиль, и эти случаи довольно часто можно свести к имени класса, конкретному разделу страницы (читай: конкретному родительскому элементу) и т. Д.

(Единственное реальное исключение Это приходит на ум, если стили, которые вы переопределяете, фактически выходят из-под вашего контроля (например, если вы используете фреймворк, который имеет очень твердое мнение о том, как должна выглядеть ваша страница, вам может быть досадно сложно переопределить что-либо. Я работал с приложениями, которые на самом деле вставляли свои собственные встроенные стили, где их не могло переопределить только правило ! Important .) Если у вас нет полного доступа к коду, переопределение и рефакторинг могут быть легко выполнены больше проблем, чем они того стоят. Вы можете использовать ! important , чтобы вернуть себе некоторый контроль, если вы знаете о последствиях.)

16
ответ дан 3 December 2019 в 05:56
поделиться

Что я могу сказать, так это то, что вы должны стараться избегать этого как можно чаще, потому что это означает наличие избыточного кода и указывает на то, что CSS и стили плохо структурированы.

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

Так что просто постарайся.

2
ответ дан 3 December 2019 в 05:56
поделиться

Избегайте этого , когда вы можете , так как это то, что наиболее пропагандируется, но в то же время это важно.

Взгляните на:

Важность! Important в CSS

2
ответ дан 3 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: