Чтобы ответить на ваш первый вопрос:
Если браузер найдет изображение в таблице стилей, он загрузит его и сохранит в кэше браузера.В следующий раз, когда это же изображение будет найдено / запрошено в таблице стилей с того же URL-адреса (даже при той же начальной загрузке страницы), оно будет передано из кэша.НЕ перезагружен.Таким образом, хотя у вас может быть spritesheet.png
3 раза в вашей таблице стилей, она загружается только один раз и не тратит пропускную способность или скорость загрузки страницы.
Именно благодаря этой функции кэширования спрайты предпочтительнее предоставляют такие вещи, какзначки и другие меньшие изображения.
Что касается вашего второго вопроса о том, почему ваш первый пример CSS не работает, это может быть любое количество проблем, начиная от простой опечатки или до всех элементов, которые вы хотите использовать в спрайте, если у вас нет класса
sprite
.
Чтобы правильно помочь вам с этой проблемой, нам нужно увидеть ваш HTML-код, который соответствует опубликованному CSS.Пожалуйста, внесите изменения в свой вопрос и добавьте HTML в качестве фрагмента кода.