Вместо того, чтобы думать об этом с точки зрения самого важного и наименее важного, думайте о нем как о каскадном порядке. Все стили применяются, но последний примененный - тот, который вы видите. Стили применяются в следующем порядке:
- Браузер по умолчанию
- Внешняя таблица стилей (
link
или @import
)
- Внутренняя таблица стилей
- Встроенный стиль
Внутри любого из первых трех стили применяются от наименее специфического к наиболее специфическому (затем сверху вниз, если наиболее конкретное не может быть определено). Таким образом, выбранный тегом стиль будет применен перед выбранным классом стилем, поэтому, если они не согласны с тем, какой стиль следует применить, выбранный классом победит. Не существует правила о том, следует ли сначала применять link
или @import
, поэтому они смешиваются друг с другом и применяется правило от наименьшего к наиболее конкретному.
!important
позволяет применять менее специфичный стиль после более специфического, а внешний стиль таблицы стилей применяется после внутреннего или встроенного стиля. Я бы посоветовал не использовать !important
везде, где это возможно, поскольку это может привести к довольно запутанным результатам.