Как создать спрайт CSS? Пошаговый пример

  1. Что такое CSS-спрайты?
  2. Шаг 1: Сборка изображений, которые генерируют Sprite
  3. Шаг 2: программирование HTML и CSS спрайтов
  4. ФАЙЛ ИНДЕКСА
  5. CSS FILE
  6. Шаг 3: Дайте эффект движения с переходом
  7. Когда использовать CSS-спрайты?
  8. Альтернативы и дополнения к спрайтам
  9. Ссылки, чтобы узнать больше о спрайтах и ​​скорости загрузки

Мы живем в обществе, в котором время высоко ценится. Все, что помогает нам экономить время или предлагает нам то, что мы ищем быстро, нам нравится, и мы предпочитаем это более медленным вариантам.

Интернет заполняется исследованиями того, как скорость отображения страницы напрямую связана с объемом получаемого трафика. Поэтому время загрузки сайта становится все более актуальным фактором SEO.

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

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

С точки зрения веб-дизайна, спрайт - это изображение в формате PNG или GIF, состоящее из комбинации нескольких изображений в одном.

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

Мы живем в обществе, в котором время высоко ценится

Иконки используя img

Традиционное решение для создания предыдущей страницы - использовать два элемента <img> в коде HTML и иметь два изображения, соответствующие двум значкам. Код нашей индексной страницы будет:

<html> <body> <h1> СОЦИАЛЬНЫЕ МЕДИА </ h1> <a href="https://linkedin"> <img src = "img / in.png" /> </a> <a href = "https : // twitter "> <img src =" img / tw.png "/> </a> </ body> <html>

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

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

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

Поэтому в этом уроке мы увидим:

  • Сборка изображений, которые генерируют Sprite
  • HTML программирование и создание CSS Spritting
  • Генерация перехода, который дает эффект движения

Шаг 1: Сборка изображений, которые генерируют Sprite

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

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

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

В нашем случае, когда пример будет закончен, когда мы разместим себя над значком, он будет более четким, поэтому изображения ниже такие же, как и выше, но с непрозрачностью 80%

эльф

Мы решили, что размер иконки составляет 31 пиксель по высоте и ширине. И между каждым отдельным изображением мы оставили два пикселя разделения. Следовательно, результирующее изображение PNG составляет 64 × 64 пикселей. Мы назвали это rrss.png

Иконка ширины Иконка разделения Linkedin Twitter Всего 31 2 31 64

Высота Нормальный значок Значок разделения 80% непрозрачность Всего 31 2 31 64

Если вместо 2 иконок, они хотели бы 3

эльф

Ширина будет увеличена на 33 пикселя, а высота будет такой же

Значок ширины Значок разделения Linkedin Значок разделения Twitter Всего в Facebook 31 2 31 2 31 97

Шаг 2: программирование HTML и CSS спрайтов

Ключ к технике спрайта CSS заключается в отображении изображений с использованием свойства background-image вместо непосредственного их отображения с тегом img. Чтобы использовать это свойство, мы немного изменим HTML-код индекса. Мы собираемся удалить изображение HTML-кода, добавив его на место в таблице стилей CSS. Структура файлов и папок выглядит следующим образом:

Структура файлов и папок выглядит следующим образом:

структура

ФАЙЛ ИНДЕКСА

Код индексного файла будет следующим:

<html> <head> <link rel = "stylesheet" </ h1> div class = "container"> <a class="linkedin" href="https://linkedin"> </a> <a class="twitter" href="https://twitter"> </a> < / div> </ body> </ html>

CSS FILE

У нас есть одно изображение, Sprite, состоящее из 4 значков размером 64 × 64 пикселя. Это изображение будет показано с использованием свойства background-image в CSS.

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

Координаты значка

Icon Linkedin Icon Twitter 0, 0, 0, 33 Icon Linkedin в 80% Icon Twitter в 80% 33, 0 33, 33

Чтобы каждый раз отображать другой значок, вместо полного спрайта используется свойство background-position, которое смещает спрайт, принимая во внимание положение каждого отдельного значка в спрайте. Он двигается влево или вверх .

Полученный код CSS будет следующим:

.linkedin {ширина: 31px; высота: 31px; фон: прозрачный URL ("./../img/rrss.png"); background-position: 0px 0px; плавать: слева; } .twitter {width: 31px; высота: 31px; фон: прозрачный URL ("./../img/rrss.png"); background-position: -33px 0px; плавать: слева; } .linkedin: hover {background-position: 0px -33px; } .twitter: hover {background-position: -33px -33px; } / * Мы оставляем разделение между ссылками * / .container на {margin: 10px; }

Шаг 3: Дайте эффект движения с переходом

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

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

У нас есть два способа указать переходы. Более обширная форма:

свойство перехода: НЕДВИЖИМОСТЬ - МОДИФИЦИРУЕТСЯ; длительность перехода: ВРЕМЯ; функция времени перехода: TYPE-OF-EFFECT;

Или напрямую:

переход: СОБСТВЕННОСТЬ-ЭТО-МОДИФИЦИРУЕТ ВРЕМЯ ТИПА ЭФФЕКТА;

В нашем случае изменяемое свойство - это background-position .
Типов эффектов существует множество. Вы можете изучить их самостоятельно по следующей ссылке W3C школы ,

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

Эта модификация добавлена ​​в классы linkedin и twitter, а не в их гомологичное наведение. Итак, окончательный код нашей таблицы стилей будет:

/ * Значок «Нравится» с параметром «ПЕРЕХОД» 1 * / .linkedin {width: 31px; высота: 31px; фон: прозрачный URL ("./../img/rrss.png"); background-position: 0px 0px; свойство перехода: background-position; длительность перехода: .1с; функция времени перехода: облегчение; плавать: слева; } / * Значок Twitter с параметром 2 для перехода * / .twitter {width: 31px; высота: 31px; фон: прозрачный URL ("./../img/rrss.png"); background-position: -33px 0px; переход: background-position .1s замедление; плавать: слева; } .linkedin: hover {background-position: 0px -33px; } .twitter: hover {background-position: -33px -33px; }. контейнер до {margin: 10px; }

Когда использовать CSS-спрайты?

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

Альтернативы и дополнения к спрайтам

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

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

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

Ссылки, чтобы узнать больше о спрайтах и ​​скорости загрузки

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

Принять к сведению разные техники оптимизации веб-производительности (известное по аббревиатуре на английском языке WPO: «Оптимизация веб-производительности»)

Обратитесь за помощью к Google Analytics узнать больше о скорости сайта
Посмотрите на различные иконки шрифтов, как:

Я надеюсь, что этот пошаговый пример помог вам уменьшить размер веб-изображений и повысить скорость загрузки. Если вы хотите поделиться идеями, вопросами или предложениями, вы знаете: прямо здесь внизу находится контактная форма ^ _ ^

Кроме того, если вы хотите загрузить полный код этого примера, вы можете сделать это бесплатно, просто следуя за нами по Facebook по этой ссылке (если вы не видите изображение ниже, отключите надстройки addblockplus)


Пожалуйста, нажмите кнопку «Мне нравится» на Facebook, чтобы стать сторонником KadumWeb и получить доступ к загружаемым файлам.

Спасибо, что стали подписчиком, нажмите здесь для доступа к загружаемым файлам. Распакуйте файл с ключом: kadum


Примечание: изображение обложки взято с Ванда Камарга ,

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

Полный список кандидатов в президенты страны станет известен к концу января
9 января 2008, 15:53 Текст: editor На будущей неделе закончится срок приема документов для регистрации кандидатов в президенты. На принятие решения по документам у Центризбиркома будет десять дней. НОРИЛЬСК.

ЄДНІСТЬ : У Києві через високий рівень захворюваності на грип та ГРВІ закрили вже 75 шкіл
У Києві призупинено заняття у 75 школах (2127 класів), у яких рівень захворюваності на грип та ГРВІ перевищив 20%. Інформує  «Є!» , з посиланням на УНІАН. Про це наразі повідомив перший заступник

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

Березовый сок можно ли использовать при сахарном диабете
Березовый сок при сахарном диабете — сахарный диабет: все о заболевании и методах лечения Березовый сок с давних времен славится своими целебными свойствами. Дело в том, что в весенний период береза

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

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

Лечение рака по Бройсу и др
Лечение Рака по Бройсу. (Рудольф Бройс) «Совсем недавно китайские медики обнаружили, что у онкобольных количество микроэлементов в печени, в волосах и некоторых других органах резко снижено. Возможно,

С каким соком пить водку?
Ответ: С каким соком пить водку? ВИНОВАТ АНТИАЛКОГОЛЬНЫЙ ФЕРМЕНТ - Владимир Георгиевич, главный вопрос

Сок добрый
Министерство общего и профессионального образования Российской Федерации Санкт-Петербургский Государственный Технологический институт (Технический университет) Факультет Экономики и