Браузер запрашивает изображения при разборе CSS или после формирования правил?

Когда браузер выполняет синтаксический анализ css, он загружает ресурсы, когда сталкивается с ними, или после того, как он прочитал файл css и создал набор допустимых правил?

Вот некоторые CSS, которые используют изображение для IE, но фон RGBA для браузеров, которые его поддерживают. Я предполагаю, что IE проигнорирует значение rgba и вместо этого загрузит изображение, в то время как другие браузеры никогда не будут запрашивать изображение. Это правда?

background:transparent url('../img/content/black-mask.png') repeat top left;
background:rgba(0,0,0,0.7);

1 ответ

Сначала браузеры всегда генерируют "вычисляемый стиль", поскольку они применяют таблицу стилей к структуре документа. Следовательно, background-image: свойство выбранных ящиков всегда будет пустым, потому что сокращение background: свойство очищает background-image свойство, потому что вы ничего не установили во второй строке - тем самым отменяя первую.

Однако даже с вычисленным стилем браузеры не обязательно загружают изображение. Попробуйте использовать разные изображения с :hover psuedo-class, и вы заметите задержку при загрузке браузером.

@Andre прав в том, что это в значительной степени деталь реализации, но большая часть поведения определяется спецификацией CSS (например, в стиле вычисляемых стилей).

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

Другие вопросы по тегам