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