Одна вещь, которую я заметил на некоторых сайтах, заключается в том, что они используют одно изображение BIIIIIIIG, содержащее множество маленьких изображений, затем используйте CSS background-position
для определения координат каждого изображения, а не для использования отдельных изображений.
Здесь, где я нахожусь:
Недостатки использования большого листа спрайтов
- Необходимо загрузить большое изображение, чтобы отобразить даже одно маленькое изображение.
- Нужно писать (или генерировать) длинную таблицу стилей с классом для каждого изображения
- Беспорядок CSS с большим количеством определений классов может повлиять на производительность
- Если одно изображение изменяется (или добавляется другое), проблемы с кешем могут встречаться как на изображении, так и на CSS, связанном с ним.
- Требуется
<div>
с правильным стилем (display: inline-block; width: 32px; height: 32px; background-image: url('spritesheet.png');
), который добавляет еще один класс в микс. - Много больше, что я не могу вспомнить, теперь я их печатаю.
Плюсы использования большого листа спрайтов
- ... Erm... пока нет.
Фактически единственное, что подходит для профессионала, заключается в том, что когда я разбивал лист на отдельные изображения, результирующая папка занимала 3 Мб на диске (из-за того, что каждый файл был < 100 байт, а мой размер выделения составлял 4 тыс.). Фактические файлы сами выходят меньше половины размера листа и CSS, поэтому даже с накладными расходами HTTP-запроса существует значительная экономия пространства.
В основном, мой вопрос: кто-нибудь имеет ЛЮБЫЕ плюсы для использования большого листа над отдельными изображениями?