Мне было интересно, почему более низкая ссылка CSS в главном теге важнее как выше размещенная ссылка.
Почему это?
<head>
<link rel="stylesheet" href="less important">
<link rel="stylesheet" href="more important">
</head>
Прежде чем веб-браузер даже посмотрит на ваш сайт, он имеет таблицу стилей CSS по умолчанию, которая применяется к любой веб-странице, с которой она сталкивается (вот ссылка на дополнительную информацию об этих конкретных таблицах стилей).
Когда веб-браузер просматривает ваш сайт, он проходит через каждую строку вашего html итеративно, чтобы увидеть, что вы хотите сделать. Если какая-либо строка содержит информацию о CSS, веб-браузер обновляет таблицу стилей, которую он использует для рендеринга вашего веб-сайта. Поэтому каждый раз, когда ваш html говорит, чтобы обновить таблицу стилей на вашем веб-сайте, она заменяет предыдущую информацию. Исключением из этого правила является использование важности. Если вы используете! Важно, то это переопределяет любые будущие появления этого стиля. Вот пример:
p { color: red !important; }
Каскадные таблицы стилей обрабатываются в том порядке, в котором они определены. Поэтому, если у вас есть перекрывающиеся определения, последний выигрывает (или вы используете ключевое слово " ìmportant
).
При прочих равных условиях более поздний CSS файл будет переопределять предыдущий. Однако, если селектор в более раннем файле более конкретный (то есть по идентификатору вместо класса), то он все равно будет применяться.
Inline CSS (т.е. атрибут style="..."
для самого элемента) добавляется "последним" (так как все остальные файлы CSS находятся в голове) и поэтому переопределяет Css из файлов.