Css спрайты. Что такое CSS спрайты? Последний шаг - пишем код на jQuery, создающий анимацию

Большинство групп ВК создаются с целью заработка. Лучший способ монетизации пабликов - слив трафика из ВК партнеркам. Для получения процента от продаж рекламодателей или оговоренную сумму, достаточно размещать партнерские ссылки или объявления в пабликах. Правильно выбранная партнерка для ВК группы - залог стабильной прибыли на ближайшее будущее.

О свежих и прибыльных предложениях, сервисах для повышения эффективности сотрудничества по ним, можно узнать подписавшись на нашу рассылку.

Подпишитесь и получайте новый материал + кейсы на свой email!

Подписаться

Не все партнерские программы лояльны к трафику из социальных сетей,в том числе ВК, для некоторых потребуется наличие собственного сайта. Те, что разрешают реализацию офферов через паблики ВК, выставляют ряд требований относительно целевой направленности группы, количества уникальных посетителей, отклика.

Партнерка для ВК группы: ТОП-10! Обзоры популярных партнерок различных направлений!

Здесь собраны краткие обзоры самых обсуждаемых партнерок, благодаря которым можно монетизировать паблики ВК. Их офферы радуют разнообразием тематик, которые приходятся по вкусу новичкам и опытным арбитражникам.

Партнерки для ВК группы

Партнерка Логотип Условия вознаграждения Частота выплат Вывод Реферальная система
1 От 600 рублей за подтвержденную заявку По истечению холда (14 дней для новичков) 1000 RUB 5% от прибыли привлеченного
2
  • 50% revshare
  • CPA 200$
  • СРА 100$ + 30% revshare
2 р/месяц От 50$ 1 уровень (5% от дохода рефералов)
3 Monecle 30 % от первой покупки, 100р. за все остальные По запросу От 1000 RUB нет
4 Letitbit 50% от скачиваний и продаж премиума По запросу, обработка 2–3 дней От 10$ 1 уровень (5%)
5 Biletyplus
  • 1,38-1,5% за покупку авиабилета;
  • 4,6-6% за бронь.
Еженедельно От 10$ нет
6 Grattis 70% от заказа По четвергам От 20 RUB 1 уровень (7%)
7 Badoo
  • 42р. за женщину
  • 23р. за мужчину
По запросу или раз в месяц От 35$ 1 уровень (5%)
8
400р. за подтвержденную заявку По запросу нет нет
9 Autodengi 0,04р. за 100 заданий По понедельникам От 15 RUB 1 уровень (10%)
10 Homework 30% от заказа По запросу нет нет
1. CPAseti.com - большое разнообразие офферов!

Тематика предложений: аксессуары, здоровье, красота, адалт, общее.

После регистрации на сайте товарки CPAseti, выбирается оффер, лендинг под него. Можно выбрать предложение из ТОПа на главной странице. Из названия партнерки ясно, что рекламодатели оплачивают только активные действия привлеченного трафика: подписки, размещение заявок, оплату. Для получения максимальной прибыли желательно протестировать конверсию для разных лендингов, предоставленных рекламодателем.

Отличная партнерка для новичков - лояльность менеджеров зашкаливает, есть возможность освоить навыки работы с товарными офферами. Персональный консультант доступен сразу после регистрации здесь: .

Среднее вознаграждение вебмастера - 500–600 р./предложение, минимальная сумма для вывода - 1000 р.

2. Bintrader - достойный представитель «бинариков»

Тематика предложений: бинарные опционы.

Партнерка для ВК группы Bintrader открылась в 2016 году, но успела привлечь много внимания. Работает с регистрациями для торговли бинарными опционами. Существует три модели партнерских вознаграждений:

  • регистрация+50% от дохода системы;
  • 100$ + 30% от любого пополнения на сумму от 150$;
  • 200$ за первое пополнение от 300$.

Bintrader - одна среди многих партнерок, которая пользовалась вниманием со стороны клиентов на протяжении всего 2016 года и тот шквал тематического трафика, который собрали вебмастеры, продолжает увеличиваться в прогрессии. До конца 2017 года точно есть шанс «поймать волну». регистрация .

Внимание! С 2017 года построение заголовков для рекламы в социальной сети ВК в корне изменилось из-за запрета использования подобных формулировок: «Школьник заработал на машину за 5 минут». Как это должно выглядеть после нововведения, другие подробности сотрудничества с партнеркой расписаны в статье .

3. Monecle - продажа бесценной информации

Тематика предложений: инфотовары.

Пока что существует не так много партнерок, предлагающих заработать продажей инфопродуктов. Эта ниша постепенно наполняется, принося партнерам значительные материальные выгоды.

Партнерка Monecle создана для заработка путём продаж записей вебинаров об отношениях, кулинарии, творчестве и других. Можно использовать предоставляемые проектом эффективные посты для социальных сетей, в том числе ВК, или создавать свои креативы.

Реклама по офферам предлагает пользователям взять участие в просмотре демонстрационной серии вебинара или бесплатной подписке. После этого, с ними свяжутся консультанты call-центра с предложением приобретения полного архива. Если пользователи совершат покупку в течение года после перехода по партнерской ссылке, на внутренний счет в системе поступят комиссионные.

Партнер может лично проверить статистику по регистрациям, отчеты call-центров, причины отказов приведенного трафика от покупки.

Средняя конверсия - 1 к 1,5.

4. Известные аналоги Letitbit - пользователи смотрят, вы считаете прибыль

Тематика предложений: скачивание/просмотр материалов.

Для групп-каталогов фильмов, книг, приложений, игр отлично заходит партнерка от Letitbit. Достаточно загрузить материалы в файловое хранилище и размещать предоставленные системой ссылки среди новых постов. Вознаграждение за 1 тыс. просмотров - 5$.

Главное преимущество этой партнерки для ВК то, что аудитории группы не нужно тратить деньги. Поэтому не важно, какой стати, пола или возраста будет привлеченный трафик. Учитывая, что большинство участников популярных пабликов ВК - школьники или студенты с неограниченным запасом времени, сотрудничество с Letitbit приносило весьма ощутимые материальные выгоды.

К сожалению, проект закрыли, но можно обратить внимание на его аналоги: SaleFiles, Turbobit, DataFile и другие с похожим принципом работы.

5. Biletyplus - партнерка для ВК группы с эксклюзивной мастерской креативов

Тематика предложений: туризм.

Одна из немногих партнерок, позволяющая заработать если нет собственного интернет-ресурса. Каждому партнеру система присваивает персональный AID-код, который встраивается в партнерские ссылки. Проценты начисляются с покупок билетов и брони отелей привлеченными пользователями.

Преимущество Biletyplus -12 видов разных баннеров, которые можно использовать для рекламных целей. Можно создать собственный дизайн прямо на сайте. Даже новичок без навыков работы в CorelDraw и Photoshop может составить уникальный креатив, который будет стилизован под тематику паблика и притягателен для аудитории.

6. Grattis - деньги на солидных развлечениях

Тематика предложений: развлечения.

Что может быть проще, чем зарабатывать на развлечениях аудитории группы ВК. Grattis предоставляет посетителям возможность отправлять аудиопоздравления друзьям и знакомым в виде звонков на их мобильные.

7. Badoo - восхитительная романтика навсегда

Тематика предложений: знакомства.

Еще один вариант конвертации развлекательного трафика, но уже с возрастным ограничением - партнерки от сайтов знакомств. Badoo предлагает заработать на регистрациях и скачиваниях приложения. Действия оплачиваются, если пользователь проявляет активность. За женщину «платят» 42 р., за мужчину - 23 р. При средней конверсии 1 к 17 на тематических площадках можно неплохо заработать, при наличии собственной группы ВК.

8. DocDoc - простой способ сотрудничества с медицинскими предложениями

Тематика предложений: здоровье.

Пользователи, которые размещают объявления о средствах похудения, лечебных масках, препаратах группы БАД, сотрудничают с фарма-партнерками. Их количество говорит о спросе, а значит, возможности быстро заработать.

Для сотрудничества с DocDoc при помощи ВК, нужно продвигать услуги сервиса в группах. За каждую подтвержденную заявку - запись к специалисту, партнер получит 400 р. Если пользователь переходит по партнерской ссылке, но не оставляет заявку на запись, cookie хранятся 30 дней - подтвержденные за это время заявки принесут партнеру денежное вознаграждение.

9. Autodengi - бесплатный заработок на программе

Тематика предложений: быстрый заработок.

На фоне мирового кризиса и становления рыночной экономики в бывших странах СНГ школьники или пенсионеры, которые еще не могут или уже не могут освоить новые навыки для работы обеспокоены возможностью интернет-заработка.

Autodengi - партнерка для ВК группы, предлагает программу, автоматически выполняющую задания рекламодателей. Оплата небольшая, доход достигает до 1–1,5 р./день, но абсолютная автоматизация процесса продолжает привлекать пользователей.

Разместив партнерскую ссылку на посещаемом ресурсе, можно получать 10% от заработка рефералов. При среднем доходе 30–45 р./мес., понадобится привлечь около 1000 активных пользователей для получения месячной прибыли 3000–4500 р. - доход партнеров из ТОП-а.

10. Homework - секрет успешных студентов!

Тематика предложений: образование.

Партнерские программы монетизации образовательного трафика, которые становятся особо актуальны во время проведения зимних и летних сессий. Вознаграждения рассчитываются в процентах от стоимости заказов, Homework платит партнерам 30%.

Чего необходимо избегать?

Поэтому будьте готовы к тому, что любая партнерка для ВК группы поставит условие - не жульничать!

Заключение

Можно бесконечно читать обзоры, открывая новые страницы и сайты. Но даже лучший из них не заменит практики - регистрируйтесь, экпериментируйте, получайте бесценный опыт. Любая из представленных партнерка для ВК группы будет актуальна. Можно начать с первой по списку или случайно ткнуть пальцем в монитор. Главное - действуйте, а результаты не заставят себя ждать!

До того, как в CSS появился псевдокласс:hover , создание ролловера - элемента, который меняет свой вид при наведении курсора - реализовывалось через язык JavaScript. Сейчас это делается намного проще, но есть один недостаток: если в состоянии:hover (т. е. при наведении курсора на элемент) должно появиться какое-то фоновое изображение, то оно начинает загружаться в момент наведения курсора, а не при общей загрузке страницы.

Из-за этого может возникать небольшая задержка при появлении картинки в первый раз. И хотя при всех последующих наведениях курсора этой задержки уже нет, многие разработчики задумались над тем, как устранить эту проблему. Например, с помощью JavaScript можно обеспечить загрузку всех фоновых изображений заранее. Но есть способ, который не требует знаний языка программирования, и заключается он в использовании спрайтов.

Что такое спрайты CSS

CSS-спрайт - это один графический файл, который содержит много различных изображений. В нем могут быть собраны, к примеру, все графические элементы интерфейса, такие как иконки, кнопки и прочее. Также в спрайты часто объединяют фоновые картинки вместе с их вариациями для состояния:hover . Типичные примеры спрайтов:

Спрайт, в котором собраны все используемые иконки Спрайт со значками соцсетей и их вариациями для:hover

Преимущества CSS-спрайтов
  • CSS-спрайт содержит в себе фоновые изображения для различных состояний элементов, и загружается он целиком при загрузке веб-страницы. Это исключает подтормаживание ролловера при первичном наведении курсора на элемент.
  • Сокращается количество обращений к серверу. Ведь для загрузки каждой маленькой иконки требуется отдельный запрос, а чем меньше обращений, тем лучше. Для загрузки спрайта понадобится всего один запрос на сервер.
  • Еще одно преимущество хранения множества картинок в спрайте заключается в том, что если у них похожая палитра цветов, то одно большое изображение будет весить меньше, чем отдельные маленькие картинки в сумме.
  • Всё это в целом положительно влияет на скорость загрузки сайта.
Как создать спрайт из картинок

В классическом случае спрайты создаются в редакторе изображений. Мелкие картинки последовательно размещаются на большом полотне (нередко с прозрачным фоном), которое затем сохраняется как графический файл.

Ручной способ создания спрайтов - занятие довольно долгое. Поэтому, когда использование спрайтов стало набирать обороты, появились онлайн-сервисы по автоматическому созданию спрайт-листов, например, Spritegen , RetinaSpriteGenerator и другие. Вы загружаете необходимые изображения в отдельных файлах на сайт, и для вас генерируется спрайт, который вы сразу можете скачать на компьютер.

Как пользоваться спрайтами CSS

Теперь пора узнать, как использовать CSS-спрайты на практике. Мы покажем вам небольшой пример с использованием спрайта, содержащего значки социальных сетей (мы показывали его выше). В обычном состоянии ссылки значок соцсети будет цветным (верхний ряд спрайта), а при наведении курсора он будет становиться серым (как в нижнем ряду).

HTML-разметка выглядит следующим образом:

Для ссылки на каждую соцсеть мы создали свой класс. Поскольку это тестовый пример, то мы не тратим время на заполнение атрибутов href - вместо ссылок на настоящие сайты мы поставили заглушки. Внутрь тега мы ничего не помещаем, потому что за внешний вид ссылок будут отвечать их фоновые изображения со значками соцсетей.

Переходим к CSS. Первым делом запишем общие стили для всех ссылок:

A { background-image: url(https://goo.gl/1t18Rz); background-repeat: no-repeat; height: 98px; width: 100px; display: inline-block; margin-right: 10px; }

Следующие две строки - высота и ширина каждого элемента . Каким образом определялись эти значения? Здесь мы отталкивались от размеров значков в спрайте. Высота каждой иконки равна 98 пикселям, а ширина - 100 пикселей. Далее мы будем позиционировать фоновую картинку для каждой ссылки, подстраивая фон таким образом, чтобы значок ровно вписался в «окошко» ссылки размером 98×100 пикселей.

A.facebook { background-position: left top; }

Идем дальше: позиционируем фон для ссылки на Twitter. Иконка Твиттера расположена справа от Facebook и примыкает к ней, не создавая пустых промежутков. Нам необходимо переместить спрайт влево на столько пикселей, чтобы скрыть иконку Facebook и полностью заполнить область ссылки иконкой Twitter. Поскольку ширина каждой иконки равна 100 пикселям, то мы и сдвигаем фон влево на 100 пикселей. Вертикальное позиционирование мы пока нигде не меняем, а оставляем значение top:

A.twitter { background-position: -100px top; }

Аналогичное действие мы проделаем для остальных ссылок, прибавляя к каждому последующему горизонтальному позиционированию еще 100 пикселей, тем самым сдвигая спрайт всё больше и больше влево. Получится такая картина:

A.youtube { background-position: -200px top; } a.instagram { background-position: -300px top; } a.linkedin { background-position: -400px top; } a.tumblr { background-position: -500px top; } a.google { background-position: -600px top; }

Результат работы данного кода показан на скриншоте ниже:


Теперь разберемся с поведением фоновых картинок при наведении курсора на ссылку. Нам нужно смещать спрайт по вертикали вверх таким образом, чтобы в область просмотра попадала иконка из нижнего ряда спрайта. Здесь всё довольно просто и решается одним правилом CSS, а именно присвоением значения bottom свойству background-position-y:

A:hover { background-position-y: bottom; }

В нашем случае этот стиль можно записать один для всех ссылок, и он будет работать правильно. Однако в других ситуациях, когда элементы в спрайте расположены в другом порядке, вам может понадобиться писать больше кода.

Результат работающих спрайтов смотрите на демонстрации ниже (для более красивой подачи примера мы сделали сдвиг фона более плавным при наведении курсора):


Если вам стало интересно, то вот и строка, которая отвечает за плавность изменения иконок (не волнуйтесь, чуть позднее мы будем изучать CSS-анимацию, и в частности свойство transition):

A { transition: all 0.2s ease-out; }

Итак, теперь вы знаете, что такое спрайты CSS и чем они могут быть полезны. Помимо предотвращения задержек при загрузке фоновых картинок, использование спрайтов помогает снизить нагрузку на сервер. Кроме того, это удобный способ хранить все графические элементы интерфейса в одном месте.

Вот мы и разобрали основные методы стилизации ссылок. Рекомендуем вам дополнительно попрактиковаться, чтобы закрепить полученные знания. А следующая глава нашей книги посвящена CSS-анимации, реализация которой стала возможна благодаря свойствам, появившимся в CSS3. И в первом уроке мы разберем свойство трансформации -

В сегодняшней статье хочу немного поговорить о CSS спрайтах и дать несколько ссылок, где можно создать эти самые спрайты. Техника использования спрайтов совсем не нова и используется уже давно, однако сложность их создания отпугивает вебмастеров. Попробуем им помочь…

Что такое CSS спрайты?

Представьте одну, большую картинку, на которой изображены все ваши иконки, разделители, кнопочки, стрелочки и прочие составляющие дизайна. Она грузится вместе с сайтом, все как обычно. Вот только не создает кучу запросов на все файлы, а исполняется одним запросом. Круто? Несомненно. После загрузки в нужном месте отображается нужная часть большой картинки.

Я где-то видел статистику (не вспомню, где, поэтому ссылочку не дам) — от 5 до 40% времени составляет собственно страницы, все остальное — обработка запросов сервером. Логично предположить, если уменьшится количество запросов — скорость загрузки вырастет пропорционально.

Давайте чуть подробнее рассмотрим плюсы и минусы использования спрайтов:

Плюсы использования спрайтов:

Минусы это технологии:

  • при верстке необходимо указывать не только картинку, но и позицию фрагмента, что не совсем удобно и привычно.
  • увеличение нагрузки на сервер. Большая картинка занимает больше оперативной памяти, учитывая «пустышки» между фрагментами.
  • для изменения одной иконки придется ковырять весь файл, что не слишком удобно. Хотя, может оно и к лучшему

Выбираем, кому чего важнее — простота или скорость и идем дальше. Если с нагрузкой на сервер ничего не поделаешь, то для решения проблем с версткой и изменением спрайтов есть инструменты.

Генераторы спрайтов — онлайн сервисы, которые, в принципе, работают по одной схеме. Вы загружаете свой набор картинок, выбираете формат спрайта и система создает картинку и CSS разметку для этого файла.

Где создать спрайты?

Наверное, самый старый инструмент для создания CSS спрайтов. Отличительная черта — есть русский вариант интерфейса, это удобно. Хорошо настраивается, причем не только создание картинки, но и код CSS. В целом — отличный генератор, рекомендую. Кстати, кроме этого, сервис умеет генерировать фавиконы и рассчитывать права доступа для Unix систем.

CSS Sprites Generator

Этот генератор тоже неплох, имеет все необходимые настройки, генерирует на выходе файл чуть меньшего размера, чем предыдущий сервис. Отличительная особенность — удобный вывод кода CSS для каждого изображения.

Достаточно функциональный генератор, позволяющий не только создать обычный спрайт, он дает возможность вам самостоятельно двигать картинки, располагая их максимально компактно. Плюс — умеет выдавать сжатый CSS код, а также SASS код.

Sass - это метаязык на основе CSS, предназначенный для увеличения уровня абстракции CSS кода и упрощения файлов каскадных таблиц стилей.

Этот сервис отличается от остальных представленных тем, что он не создает картинку спрайта. Вы можете создать ее самостоятельно в Фотошопе или еще где-то, загрузить сюда и сервис поможет с кодом CSS. Достаточно наглядный и удобный интерфейс. Рекомендую для любителей все делать самостоятельно, не доверяя машине

Неплохой генератор, присутствует все, что нужно для создания. Единственный минус — каждую картинку придется загружать отдельно, нельзя загрузить кучей. В остальном — ничего примечательного, крепкий середнячок.

Сервис написан на HTML5, работает только в Chrome и Firefox, но развитие таких сервисов радует. Веб не стоит на месте и это хорошо Очень простой, минимум настроек. Но, если вы хотите быстрое и простое решение — этот генератор подойдет на 100%

Генератор спрайтов для настоящих джедаев Установите программу, укажите путь к CSS файлу со старой версткой и этот сервис все сделает за вас. У него куча возможностей — рекомендую почитать документацию на официальном сайте.

Практически полный аналог Спрайтбокса, тоже используется только для получения кода CSS, с той разницей, что здесь выбор границы элемента осуществляется не вручную, а автоматически, точность отработки заметно выше. Работает только в Хроме и Firefox

Отличный сервис, который работает так — заходите на готовую, сверстанную как обычно, страницу. Жмете на иконку сервиса (предварительно ее нужно установить букмарклетом) и все — сервис собирает все изображения с этой страницы и генерирует спрайт с кодом. Очень удобно, есть настройки, что конкретно необходимо собрать в кучу. В общем — неплохой сервис.

Очень простой, но понятный и удобный генератор. Перетащите картинки, который нужно объединить, расположите их как вам хочется и нажмите кнопку — спрайт и код готовы. Минус этого сервиса — работает только в Хроме и Огнелисе.

Сервис очень похож на описанный выше SpriteMe, с тем отличием, что тут нужно загружать руками все картинки и CSS файл, который необходимо менять. Минимум настроек, но работу свою он делает хорошо.

Надеюсь, теперь вам не страшна работа с CSS спрайтами и ваши проекты будут еще быстрее.

Понравилось:
27



Не понравилось: 4

Недоступен ни один перевод.



спрайт

до или после "до" "после" "после"

angry_bird angry.png. index.html


Недоступен ни один перевод.


CSS спрайты - это графика для Вашего Web-сайта, объединённая в один графический файл. "Почему один файл?" - спросите Вы. Дело в том, что такой подход к хранению изображений позволяет повысить производительность веб-страниц, а также хранить графические изображения более организованно. Давайте взглянем на некоторые из лучших практик применения спрайтов. Само название спрайтов может напомнить Вам об игровых спрайтах, ретро игровой консоли и даже браузерных играх, которые так популярны сегодня:


Итак, применимо к Веб-дизайну, спрайт - это всего лишь один большой файл, содержащий несколько изображений для Вашего сайта, экономящий время загрузки и передачи файла по сети. Когда спрайт, к примеру, содержит 20-30 изображений, то это существенно может облегчить нагрузку на сервер, поскольку, если бы эти изображения хранились по отдельности - серверу пришлось бы делать соответственно 20-30 отдельных запросов для получения каждого такого изображения. Благодаря спрайту на сервер идет всего один HTTP-запрос - для получения одного-единственного изображения. Спрайт визуально может выглядеть не совсем "читаемо" для глаза, поскольку его основная задача - лишь собрать разные "куски" Вашего дизайна воедино. Например, спрайт может быть вот таким:

Спрайты используют большинство современных сайтов, и всем известный ВКонтакте - не исключение. Например, так он хранит в одном файле "кусочки" интерфейса - а именно всем знакомые иконки:

Существенным моментом использования CSS-спрайтов является то, что серверу надо отправить только один графический файл, содержащий все Ваши изображения, а не множество отдельных изображений - и через CSS можно отобразить любой маленький сегмент из этого графического файла в качестве фона для элемента. Некоторые думают, что по отдельности картинки быстрее грузятся, но это не так. Загружая один графический файл с множеством картинок, мы посылаем только один запрос на сервер, а при загрузке большого количества картинок - мы отправляем больше запросов на сервер. Объединение изображений в один файл позволяет не только значительно снизить количество HTTP-запросов, но и уменьшить общий размер файла изображения.

Приведу еще один пример спрайта. Так хранит элементы графики один известный западный сайт, посвященный дизайну:

Вы можете спросить - когда лучшим образом подготавливать спрайт? Для этого есть два разных подхода.

Различные подходы - создаем спрайт до и после создания сайта

Есть два распространенных подхода при создании спрайт листа - сделать его до или после создания Вашего сайта. Вы можете поместить все изображения в спрайт лист перед созданием сайта. Это то, что мы называем подход "до" . Кроме того, Вы можете создать все изображения в виде отдельных файлов, что делает их редактирование более простым. Как только сайт будет построен, и все изображения подготовлены, Вы можете быстро и легко создать спрайт лист, либо вручную, либо, используя один из нескольких инструментов. Это мы будем называть подход "после" . Если спрайт листы для Вас в новинку или Вы новичок в Веб-дизайне, то Вам больше подойдёт подход "после" . Существует множество утилит, сервисов и программ для помощи при создании спрайтов, большинство из которых распространяются и доступны бесплатно.

Располагаем картинки в спрайте организованно

При создании спрайта в Photoshop, желательно сразу все изображения размещать организованно и в какой-то определенной, выбранной Вами последовательности, чтобы потом работать с ними было легко и просто. Старайтесь всегда округлять место под каждое изображение спрайта до ближайших 10 пикселей, или оставлять больше пространства вокруг них, если они все одинакового размера. Когда дело дойдет до написания CSS-стиля, Вам не придется записывать измерения координат, и Вы будете менее склонны забывать числа с координатами нужных изображений. Вот пример удачного размещения разных изображений в одном спрайте:

От теории - к практике! Создаем анимированную птицу из Angry Birds с помощью спрайта

Итак, мы познакомились с понятием спрайта в Веб-дизайне, но теория без практики - ничто. Поэтому сейчас мы c Вами создадим наш первый спрайт и научимся делать простую анимацию на HTML-странице. Наш пример будет основан на персонаже из игры Angry Birds - это забавная красная птичка. Для начала подготовим изображение-спрайт в формате.PNG, содержащее 4 фазы анимации птицы:

Создадим где-нибудь на диске каталог angry_bird - туда мы будем помещать файлы нашего примера. Сохраняем спрайт с птичками в этот каталог и называем файл angry.png. Следующим шагом - создаём в этом же каталоге файл с именем index.html - это будет наша тестовая страничка с анимацией. Далее откроем этот файл в редакторе и поместим туда следующий код:


Урок сайт - Демонстрация работы со спрайтами $(document).ready(function() { // здесь будет код на jQuery, создающий анимацию });


Немного поясню, что мы сейчас сделали. Во-первых, мы задали нашему HTML-документу кодировку UTF-8 , а значит, должны сохранить наш index.html в этой кодировке. Можно задать и другую, например, windows-1251 , - для нашей задачи это не принципиально. Далее, мы подключили к документу файл стиля style.css (его пока нет в нашем каталоге angry_bird , его создадим чуть позже). Также мы задали ссылку на внешний скрипт и подключили библиотеку jQuery - с помощью jQuery мы будем осуществлять динамическую смену картинок нашей птицы и менять её "фазы" из спрайта. Также мы подготовили внутренний JavaScript-блок, куда дальше поместим код, делающий анимацию птицы. Ну, и наконец, - основное тело документа содержит единственную гиперссылку, внутри которой DIV-блок, и у него ID задан в качествеbirdImage , а класс по умолчанию -bird-sleeping . Это значит, что наша птица при открытии страницы будет "спать" - это соответствует левому нижнему изображению внутри спрайта - где у неё закрыты глаза. Теперь самое время "нарезать" наш спрайт, т.е. выделить из него отдельные изображения.

Нарезаем спрайт, используя сервис SpriteCow.Com

Задача "нарезки" спрайта является довольно трудоёмкой - она требует внимательности, чтобы не ошибиться с координатами, определяющими каждое изображение в спрайте. К счастью, на сегодня есть сервисы, которые полностью снимают эту головную боль с дизайнера и верстальщика. Я использую для нарезки и рекомендую Вам сервис http://spritecow.com . Суть сервиса проста и очень удобна - мы мышью выделяем каждую картинку птицы, а SpriteCow выдает нам готовый CSS-код с координатами. Всё, что нам останется сделать - это просто задать 4 стиля для каждой фазы птицы! Зайдя на сайт, видим 2 кнопки - "Open Image" и "Show Example". Нам нужна первая кнопка, жмём на неё:

В открывшемся диалоге - выбираем наш файл спрайта angry.png, после чего видим, как наш спрайт загрузился на сайт. Далее нам необходимо определить цвет фона, для этого жмём на панели инструментов "Pick Background" и указываем на белую область нашего спрайта - это позволит правильно вырезать каждую фазу птицы:

Выделяем первое изображение и получаем автоматически для него CSS-код:

Теперь, самое время создать в нашем каталоге angry_bird файл стилей style.css . Туда последоватьльно вставляем 4 сгенерированных куска CSS-кода, только вместо стандартного класса.sprite , предлагаемого нам SpriteCow назовём наши стили более понятно. Также, поскольку изображение спрайта у нас хранится прямо в корне каталога, удалим из свойстваbackground ненужный элемент пути - imgs/. У меня вышло так:


/* "обычная" птица. Левое верхнее изображение в спрайте */ .bird-normal { background: url("angry.png") no-repeat -12px -16px; width: 97px; height: 94px; } /* "Счастливая" птица. Правое верхнее изображение в спрайте */ .bird-happy { background: url("angry.png") no-repeat -118px -17px; width: 97px; height: 94px; } /* "Спящая" птица. Левое нижнее изображение в спрайте */ .bird-sleeping { background: url("angry.png") no-repeat -12px -120px; width: 97px; height: 94px; } /* "Злая" птица. Правое нижнее изображение в спрайте */ .bird-angry { background: url("angry.png") no-repeat -118px -120px; width: 97px; height: 94px; }


Последний шаг - пишем код на jQuery, создающий анимацию.

Теперь, когда мы успешно нарезали спрайт и поместили 4 стиля для каждого изображения в наш файл style.css , нам остается написать код на jQuery, который будет добавлять анимацию при наведении на нашу гиперссылку и при щелчке по ссылке. Как мы помним, по умолчанию у нас задан классbird-sleeping , т.е. наша красная птичка будет "спать" при открытии документа:)

Вся анимация будет строиться на 3-х методах jQuery:

  • hover - обработчик наведения курсора на ссылку и "ухода" курсора с ссылки. Когда будем наводить курсор, птица будет "просыпаться" - т.е. класс станетbird-normal
  • mousedown - обработчик нажатия левой кнопки мыши на ссылке. При этом птица будет становиться "счастливой" - т.е. DIV-блоку будет присваиваться классbird-happy
  • mouseup - обработчик отпускания левой кнопки мыши. При отпускании птица будет становиться "злой" - т.е. DIV-блоку присваивается классbird-angry

Итак, вставляем следующий код в место, которое мы подготовили во внутреннем блоке JavaScript, размещенном на странице:


$(document).ready(function() { // здесь будет код на jQuery, создающий анимацию $("#birdImage").hover(function() { $(this).removeClass("bird-sleeping"); $(this).removeClass("bird-angry"); $(this).removeClass("bird-happy"); $(this).addClass("bird-normal"); }, function() { $(this).removeClass("bird-normal"); $(this).removeClass("bird-angry"); $(this).removeClass("bird-happy"); $(this).addClass("bird-sleeping"); }); $("#birdImage").mousedown(function() { $(this).removeClass("bird-sleeping"); $(this).removeClass("bird-normal"); $(this).removeClass("bird-angry"); $(this).addClass("bird-happy"); }).mouseup(function() { $(this).removeClass("bird-sleeping"); $(this).removeClass("bird-normal"); $(this).removeClass("bird-happy"); $(this).addClass("bird-angry"); }); });


Готово! Тестируем анимацию

Ну, вот и всё! Наша птица готова и внесла жизнь своей анимацией в страницу! :) Просмотреть демо можно . Скачать архив с примером - внизу статьи.




Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: