Я использую CSS для размещения большого количества своих изображений (в качестве фонов <div>
) и часто обнаруживаю, что они загружаются очень медленно. Кажется, они загружаются последними. Даже маленькие маленькие изображения значков требуют некоторого времени, чтобы появиться таким образом. Есть ли способ указать браузеру приоритет для изображений? Или заставить его загружать изображения в файле CSS ранее и отображать их раньше?
13
Ответы:
CSS для стиля, а не для контента. Браузеры (справедливо) пытаются отобразить контент перед добавлением стилей, поэтому причина, по которой изображения в таблицах стилей обычно загружаются в последнюю очередь. Если изображения важны для вашего контента, добавьте их с помощью стандартных
<IMG>
тегов HTML .источник
Используйте абсолютные URI из таблицы стилей и добавляйте изображения из тегов IMG в скрытые
<div>
на странице (предполагается, что вы используете одни и те же изображения на каждой странице; в идеале в нижнем колонтитуле, чтобы они все загружались и кэшировались при любом вызове страницы ).Изображения на странице получают приоритет, и, как только изображения кэшируются, они будут отображаться немедленно при последующих запросах страницы.
источник
Для браузеров, которые поддерживают тип URI данных (см. Http://en.wikipedia.org/wiki/Data_Uri для информации), чтобы включить изображение в сам CSS.
Это имеет несколько недостатков:
источник
На данный момент нет способа указать, какие файлы загружаются первыми. К сведению, изображения, указанные в файлах CSS в качестве фоновых изображений, загружаются последними, вероятно, потому что браузер видит их неконтентными и, следовательно, имеет более низкий приоритет, поэтому избегайте их использования для важных изображений, которые вы хотите быстро загрузить.
источник
Используйте CSS-спрайты , особенно для иконок.
источник
Сделайте ваши изображения как можно меньше. Вы можете использовать smush.it для удаления ненужных байтов.
источник