У вас есть пара вариантов.
- Ваш обработчик может на лету комбинировать изображения, которые он получает из базы данных, и отправлять все это в браузер.
ИЛИ (а мне этот больше нравится)
Вы создаете объединенное изображение во время загрузки изображений на ваш сайт.
Второе лучше, так как преобразование должно произойти только один раз и, следовательно, означает, что вам нужно потратить эти ресурсы только один раз.Это означает, что вы, по сути, храните 2 копии изображения, но это нормально.
ОБНОВЛЕНИЕ
Мне кажется, я неправильно истолковал то, что вы пытались сделать.Я думал, что вы пытаетесь объединить миниатюру с полноценным изображением.Вместо этого вы, похоже, действительно спрашиваете, как объединить все миниатюрные изображения.
В этом случае это еще более плохая идея.Как сказал Дэвид Дорвард, CSS используется для управления макетом.Вы говорите о контенте.Однако, если оставить в стороне семантическую проблему, в случае, если вы захотите внести изменения в макет, вам придется изменить свой код, который для начала создает спрайты.Что делать, если вы решили сделать 35 изображений?Или изменить это на 18?
Пройдя маршрут спрайта, вы очень хорошо себя чувствуете, будучи вынуждены изменить код для любого изменения макета, который НЕ является хорошим стилем.
Чтобы покрыть этот последний вопрос: не будет ли это быстрее?Возможно нет.При таком сценарии вам придется создавать спрайт на лету, который вводит нагрузку на сервер, что замедляет все.Самое большее, это может быть стирка во время доставки.В худшем случае вы подвергаетесь большим серверам и отрицательному влиянию на производительность разработки.