Картинки со спрайтами безудержно используются для скачивания массы значков и элементов интерфейса всех сразу, единственным
HTTP-запросом. Однако они
несколько обременительны в употреблении, так как приходится рассчитывать сдвиги и задавать их
в background-position. Не получится добавить, убрать или переставить спрайты без такого пересчитывания. Или изменить размер спрайта без того, чтобы наткнуться на его соседа сбоку.
Как можно устранить эту проблему?
Ну, положить все спрайты
друг на друга, отключить их видимость, затем показать только тот, который нужен. Хотел бы я, чтобы это было возможно… и давно хотел… а затем случилось вот что (читайте снизу вверх):
Ах, хорошо! И ужé
работает в Файерфоксе. Такая же возможность запланирована к добавлению
в Оперу: баг «CORE-37596» (я не мог найти общедоступной гиперссылки, к нему ведущей). Есть и альтернативы
SVG-штабелям, лучше поддерживаемые браузерами:
элементы embed, iframe, object или img — но я всё же предпочитаю фоновые картинки
из-за того, что проще изменять их размеры и положение. Так что давайте надеяться, что поддержку
SVG-штабелей добавят и другие браузеры.
Итак, как же работает
SVG-штабель? На самом деле, весьма несложно. Поглядите в исходный код
SVG-файла Эрика.