CSS-спрайты: что такое и как их использовать?
Так вот второй вариант и называется: использование CSS-спрайтов.
Для чего это нужно?
Время , необходимое для загрузки страницы, во многом зависит от количества http-запросов. А каждая загрузка изображения, будь то Code<img> или background в CSS — это http — запрос.
Как это работает?
Давайте посмотри на конкретном примере:
Вариант 1
В нем для каждого пункта прописана своя картинка следующим образом:
Code#nav li a {background:none no-repeat left center}
#nav li a.item1 {background-image:url(‘../img/image1.gif’)}
#nav li a:hover.item1 {background-image:url(‘../img/image1_over.gif’)}
#nav li a.item2 {background-image:url(‘../img/image2.gif’)}
#nav li a:hover.item2 {background-image:url(‘../img/image2_over.gif’)}
…
Итого для 5 пунктов меню требуется 10 http-запросов и загрузка картинок общим объемом 20,5 Кб
А теперь давайте рассмотрим
Вариант 2
В нем используются css спрайты
и CSS код имеет вид
Code
#nav li a {background-image:url(‘../img/image_nav.gif’)}
#nav li a.item1 {background-position:0px 0px}
#nav li a:hover.item1 {background-position:0px -72px}
#nav li a.item2 {background-position:0px -143px;}
#nav li a:hover.item2 {background-position:0px -215px;}
…
Что мы получаем в итоге? 1!!!! http-запрос и загрузку одной картинки размеров 13Кб
Впечатляет? А это ведь только 5 пунктов меню. Представьте, сколько Вы сможете сэкономить на всем сайте?
Это слишком трудно
Кто-то может сказать, что это слишком трудно и не по силам. Но Вы ошибаетесь. Есть сервисы, которые могут выполнить всю работу за Вас.
Например, сайт Sprite me
О том, как с ним работать, я расскажу в следующей статье.
Что не могут делать спрайты?
Они не могут повторяться. Спрайты подходят для единичных блоков. Иконки — прекрасный вариант использования css- спрайтов.
Когда начинать работу со спрайтами?
Это непринципиально. Вы можете пойти 2 путями:
1. изначально продумать все элементы дизайна и добавить их в одну картинку и прописать в свойствах;
2. а можете сначала создать весь дизайн, а потом воспользоваться сервисом Sprite me, о котором я писала выше и внести изменения.
Вот, пожалуй , и все, о чем хотелось рассказать в этой статье. Подпишитесь на рассылку последних новостей сайта и Вы всегда будете в курсе последних добавленных статей.
По материалам сайта http://css-tricks.com/css-sprites/