Понятия, связанные с CSS Sprite
оригинал
Оригинальная короткая книга: https://www.jianshu.com/p/8ae3be23a642
Контур
1. Что такое CSS Sprite
2, преимущества CSS Sprite
3, недостатки CSS Sprite
4. Использование CSS Sprite
1. Что такое CSS Sprite
1.1 CSS-спрайты многие люди в Китае называют CSS-спрайтами, что является способом обработки изображений веб-страниц. Это позволяет вам объединить все разбросанные изображения на странице в одно большое изображение, так что при посещении страницы загруженные изображения не будут отображаться медленно одно за другим, как раньше. Что касается текущей скорости Интернета, время загрузки одного изображения размером не более 200 КБ в основном такое же, поэтому нет необходимости беспокоиться об этой проблеме.
1.2 Ключ к ускорению — не снижение качества, а уменьшение числа. Традиционная резка изображений уделяет внимание мелким деталям. Чем меньше размер изображения, тем лучше, а чем меньше вес, тем лучше.
1.3. CSS Sprites фактически объединяет некоторые фоновые изображения на веб-странице в файл изображения, а затем использует комбинацию CSS «background-image», «background-repeat» и «background-position» для позиционирования фона, background-position Положение фонового изображения можно точно определить по числам.
2. Преимущества CSS Sprite
2.1 Использование CSS-спрайтов может значительно уменьшить количество HTTP-запросов веб-страниц, тем самым значительно улучшив производительность страниц.Это также самое большое преимущество CSS-спрайтов и основная причина их широкого распространения и применения;
2.2 CSS-спрайты могут уменьшать байты изображений.Много раз сравнивалось, что байты трех изображений, объединенных в одно изображение, всегда меньше суммы байтов этих трех изображений.
2.3. Он решает проблему веб-дизайнеров с присвоением имен изображениям. Вам нужно только назвать коллекцию изображений, не называя каждый маленький элемент, что повышает эффективность создания веб-страниц.
2.4. Изменить стиль удобно: вам нужно только изменить цвет или стиль изображения на одном или нескольких изображениях, и можно изменить стиль всей веб-страницы. Удобнее в обслуживании.
3. Недостатки CSS Sprite
3.1. При объединении изображений вы должны объединить несколько изображений в одно изображение упорядоченным и разумным образом и оставить достаточно места, чтобы на пластинах не появлялся ненужный фон; это нормально, наиболее болезненно на адаптивной странице под широкоформатным экраном, экран высокого разрешения, если ваше изображение недостаточно широкое, на нем легко может появиться обрыв фона;
3.2. CSS-спрайты создают больше проблем во время разработки. Вы должны измерить и рассчитать точное положение каждого фонового элемента с помощью Photoshop или других инструментов.
3.3. Сопровождение CSS-спрайтов более проблематично. Если фон страницы немного изменен, обычно необходимо изменить объединенное изображение. Лучше не перемещать то место, где его не нужно менять, чтобы избежать дополнительных изменений. css Если он находится на исходном месте Если вы не можете отложить его, вы можете (желательно) только добавить картинку вниз, чтобы байты изображения увеличились, а css нужно было изменить.
3.4, CSS-спрайты очень достойны изучения и применения, особенно на странице есть множество значков (значков). Короче говоря, во многих случаях каждый должен взвесить все за и против, прежде чем решить, применять ли CSS-спрайты.
4. Использование CSS Sprite
4. 1. Не ждите, пока вы закончите нарезку, прежде чем запускать спрайт. Если вы вырезаете изображение во время написания CSS, а затем ждете завершения всего веб-сайта, прежде чем объединить эти изображения в спрайт, вам придется полностью переписать ваш CSS, вы также занимает много времени, чтобы сшить много картинок с помощью PS.
4.2 Интегрируйте маленькое изображение в большое изображение, а затем установите положение фона в соответствии с положением конкретного значка на большом изображении.
Перепечатано по адресу: https://www.cnblogs.com/shcrk/p/9279704.html
javascript — Изменение класса изображения CSS Sprite
Я использую CSS-спрайты для ряда изображений на моем сайте. Я хочу реализовать свои стрелки вверх и вниз в виде спрайтов.
Стрелки используют один тег img на веб-сайте, и я использую javascript для замены нужного изображения.
Скажем, я меняю стрелку вниз на изображении на стрелку вверх. В CSS стрелка вниз — это cssDownArrow, а стрелка вверх — cssUpArrow.
Стратегия, которую я выбрал, заключалась в том, чтобы пойти туда, где я
menuArrow.src = "/website/images/upArrow.gif";
И измените его на это (cssUpArrow — это класс CSS для спрайта, а clear.gif — изображение-заполнитель, которое я использую для тегов изображений, где спрайты будут заменяться местами):
menuArrow.src = "/website/images/clear.gif";
menuArrow.class = "cssUpArrow";
Однако, когда я это делаю, он не показывает правильное изображение из спрайта, а сохраняет то, что было раньше.
В какой-то степени я понимаю, почему это происходит, но не уверен в лучшем решении? Любая помощь? Спасибо!
2
Mark Nenadov 28 Июн 2011 в 18:31
2 ответа
Лучший ответ
Вам нужно использовать className
.
menuArrow.className = "cssUpArrow";
0
ovi 28 Июн 2011 в 14:32
При использовании спрайтов для изображений вы должны иметь их в одном файле изображения и установить фон элементов на этот URL-адрес изображения, а затем изменить положение фона в зависимости от того, какое изображение вы хотите показать в спрайте.
0
bdparrish 28 Июн 2011 в 14:34
SVG спрайты, 4 способа использования
Мы давно собирались делать видео про SVG спрайты, и вот наконец-то случилось. Существует четыре классических способа использования (с CSS и JavaScript), которые мы и рассмотрим, а еще поговорим о способах практического их применения: анимации и работа с кучей иконок.
SVG спрайт инлайново в HTML
Первый способ — положить SVG код прямо в HTML, спрятать его с помощью display: none
и понаписать там несколько <g>
элементов внутри блока <defs>
. Это старый способ, который потом улучшили заменив <defs>
и <g>
на несколько элементов <symbol>
.
Обращаться к «символам» можно через блок <use>
и атрибут xlink:href
по айдишнику.
Но в таком случае браузер ничего не может закешировать и на на помощь приходит способ #2.
#SVG спрайт в отдельном файле
Отличается от первого только тем, что мы кладем спрайт в какую-нибудь директорию и к элементам обращаемся с помощью того же атрибута xlink:href
, но вместо «голого» айдишника нужно сначала написать сам файл.
Так браузер будет кешировать файл на всех страницах вашего сайта и не придется его каждый раз загружать.
Инструменты для сборки: grunt и gulp.
#SVG спрайт из CSS файла
Еще один способ — выкладывать SVG напрямую в CSS с помощью data:image
или data:url
. Нам тут в комментариях советовали, что не стоит копипастить чистый SVG, лучше эскейпить, а то вдруг чего.
Инструменты для сборки: grunt, gulp, онлайн.
#SVG спрайт с общим viewbox
Классический спрайт с одним общим «полотном». Обращение к конкретным элементам происходит посредством сдвигания viewox. Используется в основном для различных анимаций. Напримет таких.
See the Pen SVG Sprite Animation #2 by Sarah Drasner (@sdras) on CodePen.
#Заключение
Использование SVG спрайтов существенно облегчает работу с множеством иконок, к ним проще получать доступ и их проще стилизовать. Плюс к ним не применяется сглаживание (антиалиасинг) в отличие от иконочных шрифтов.
Fallback для старых и хромых веб-дизайнеров браузеров: svg4everybody.
Для пошаговых и не только анимаций, использование SVG спрайтов меняет ровно то, что они векторные и хорошо смотрятся везде. Ну и их можно скриптить по частям, что дает бесконечные возможности для творчества.
Если вы, конечно, будете этими возможностями пользоваться.
CSS-спрайтов | Как создать спрайты изображений
Использование CSS-спрайтов — это способ объединить несколько изображений в один файл изображения для использования на вашем веб-сайте с целью повышения производительности.
Учитывая, что вы создадите отличное изображение, спрайт может показаться немного неправильным, но спрайты должны помочь прояснить ситуацию. Термин «спрайты» происходит от техники компьютерной графики, часто используемой в видеоиграх. Компьютер может сохранять графику в памяти, а затем отображать только части изображения в определенный момент времени.
Спрайт — это, по сути, комбинированная графика. CSS-спрайты помогут вам получить изображение один раз, а затем переместить его и отобразить его части. Это значительно сокращает накладные расходы на получение большего количества изображений. Следовательно, спрайт — это набор изображений, собранных в одно изображение. Веб-страница с несколькими изображениями может дольше загружаться и генерировать больше запросов к серверу. Использование спрайтов изображений поможет уменьшить количество запросов к серверу и сэкономит трафик.
Итак, вместо трех отдельных изображений мы будем использовать одно изображение.С помощью CSS мы можем отображать только ту часть изображения, которую хотим использовать или отображать. Ниже приведены три изображения спрайтов, созданные с помощью CSS Sprites Generator . В этой статье мы будем использовать первый из них (sprites.gif), который имеет размеры 132x43px:
В строках ниже мы предоставим простой пример, в котором мы будем использовать наше изображение CSS sprites. gif:
<стиль> #дом { ширина: 43 пикселя; высота: 43 пикселя; фон: url (sprites.gif) 0 0 без повтора; } #следующий { ширина: 43 пикселя; высота: 43 пикселя; фон: url (sprites.gif) -89px 0 без повтора; } #назад { ширина: 43 пикселя; высота: 43 пикселя; фон: url (sprites.gif) -43px 0 без повтора; }
Отображаемое изображение будет фоновым изображением, которое мы укажем в CSS width: 43px, соответственно 43px height — определяет часть изображения, которую мы хотим использовать; фон: url (sprites.gif) 0 0 без повтора; — определяет фоновое изображение и его положение (слева 0 пикселей, сверху 0 пикселей) с помощью свойства no-repeat. Атрибут img определяет небольшой прозрачный gif, потому что свойство src нельзя оставлять пустым. Изображение показано выше, рядом с кодом.
Далее мы будем использовать изображение спрайта («sprites. gif») для создания списка навигации. В приведенном ниже примере мы будем использовать список HTML, потому что он может быть ссылкой и принимать фоновое изображение.
Пример:
<стиль> #navlist { положение: относительное; } #navlist li { маржа: 0; отступ: 0; стиль списка: нет; позиция: абсолютная; верх: 0; } #navlist li, #navlist a { высота: 43 пикселя; дисплей: блок; } #дом { слева: 0px; ширина: 43 пикселя; фон: url ('sprites.gif ') 0 0; } #prev { слева: 63px; ширина: 43 пикселя; фон: url ('sprites.gif') -46px 0; } #следующий { слева: 129 пикселей; ширина: 43 пикселя; фон: url ('sprites.gif') -89px 0; }
В строках ниже мы хотели бы добавить переходный эффект к нашему списку навигации, который был создан выше. Мы будем использовать эффект наведения на спрайты изображений. Для этого нам также понадобится спрайт наведенного изображения, в нашем случае sprites_hover.gif, который имеет точные размеры, как исходное изображение, sprites.gif. Вы можете создать любой эффект на изображении при наведении курсора. Следовательно, изображение, которое мы будем использовать, содержит три небольших навигационных изображения и три маленьких изображения, которые будут использоваться для эффекта, который мы хотим использовать, а именно для эффектов загрузки. Учитывая, что это одно изображение, а не отдельные файлы, в основном скорость загрузки изображения не будет задерживаться.Мы добавим несколько строк кода, чтобы добавить эффект наведения:
#home a: hover { фон: url ('sprites_hover.gif') 0 -43px; }
Полный пример приведен ниже:
<стиль> / * позиция устанавливается относительно, чтобы разрешить абсолютное позиционирование внутри нее * / #navlist { положение: относительное; } / * маржа установлена на 10 пикселей, стиль списка удален, все элементы списка позиционируются абсолютно, верхняя граница поля установлена на 20 пикселей * / #navlist li { маржа: 10 пикселей; стиль списка: нет; позиция: абсолютная; верх: 20 пикселей; отступ слева: 2 пикселя; } / * высота всех изображений 43px * / #navlist li, #navlist a { высота: 43 пикселя; дисплей: блок; } / * Позиционируется до упора влево, ширина изображения составляет 43 пикселя, а фоновое изображение - спрайты. gif и его позиция слева 0 пикселей, сверху 0 пикселей и без повтора * / #дом { слева: 0px; ширина: 43 пикселя; фон: url ('sprites.gif') 0 0 без повтора; } / * Позиционируется на 63 пикселя слева, ширина изображения - 43 пикселя, а фоновое изображение - sprites.gif, и его положение - на 44 пикселя справа от исходного изображения * / #следующий { слева: 63px; ширина: 43 пикселя; фон: url ('sprites.gif') -44px 0 без повтора; } / * Расположен на 129 пикселей слева, ширина изображения - 43 пикселей, а фоновое изображение - спрайты.gif и его положение находится на 89 пикселей справа от исходного изображения * / #назад { слева: 129 пикселей; ширина: 43 пикселя; фон: url ('sprites.gif') -89px 0 без повтора; } / * Позиционируется в 0, ширина изображения - 43 пикселя, а фоновое изображение - sprites_hover.gif * / #home a: hover { фон: url ('sprites_hover.gif') 0 -43px; маржа слева: 1px; } / * Позиционируется на 44 пикселя справа от исходного изображения при наведении курсора, ширина изображения - 43 пикселя, а фоновое изображение - sprites_hover. gif * / #next a: hover { фон: url ('sprites_hover.gif ') -44px -43px; маржа справа: 5 пикселей; отступ: 1 пиксель; } / * Расположен на расстоянии 89 пикселей справа от исходного изображения при наведении курсора, при этом ширина изображения составляет 43 пикселей, а фоновое изображение - sprites_hover.gif * / #back a: hover { фон: url ('sprites_hover.gif') -89px -43px; маржа справа: 5 пикселей; }
Заключение
Веб-страница с большим количеством изображений, особенно небольших изображений (например, кнопок, значков и т. Д.), Может загружаться дольше. Использование спрайтов изображений вместо отдельных изображений значительно сократит количество HTTP-запросов, которые вы делаете от браузера к серверу, что может быть чрезвычайно эффективным для улучшения времени загрузки и общей производительности вашего веб-сайта.
Вредны ли CSS-спрайты для SEO?
Вредны ли спрайты CSS для SEO? — Обмен стеками веб-мастеровСеть обмена стеками
Сеть Stack Exchange состоит из 177 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.
Посетить Stack Exchange- 0
- +0
- Авторизоваться Зарегистрироваться
Webmasters Stack Exchange — это сайт вопросов и ответов для профессиональных веб-мастеров. Регистрация займет всего минуту.
Зарегистрируйтесь, чтобы присоединиться к этому сообществуКто угодно может задать вопрос
Кто угодно может ответить
Лучшие ответы голосуются и поднимаются наверх
Спросил
Просмотрено 5к раз
В настоящее время часто то, что было выполнено с помощью тега Мне было интересно, какое влияние он оказывает на SEO, так как мы теряем атрибут Это существенный недостаток? 9,96866 золотых знаков3232 серебряных знака5959 бронзовых знаков Создан 27 дек. 1,9777 серебряных знаков1616 бронзовых знаков следует использовать только для декоративных элементов — используйте Если вам нужно изображение кнопки для элементов навигации, имеет смысл добавить это изображение в качестве фона на ссылку навигации, а не разметку, например: (то есть везде, где содержимое изображения дублирует текстовое содержимое на странице или содержимое изображения лучше всего можно описать как «украшение») В качестве дополнительного бонуса разделения элементов шаблона сайта в виде спрайтов вы позже сможете изменить «скин» сайта, изменив таблицу стилей вместо перезаписи старых файлов изображений дизайна или перезаписи всей разметки HTML. Создан 27 дек. 12.7k33 золотых знака3838 серебряных знаков5858 бронзовых знаков Вы можете использовать Стиль: Таким образом, вы получите оптимизацию производительности от спрайтов — и сохраните свои теги 9,96866 золотых знаков3232 серебряных знака5959 бронзовых знаков Создан 04 фев. Тег Я считаю, что время загрузки и производительность сайта имеют большее влияние на SEO в целом, чем теги 9,96866 золотых знаков3232 серебряных знака5959 бронзовых знаков Создан 10 мар. Я предпочитаю использовать спрайты для декоративных иконок, они не имеют ничего общего со страницей в целом, так что для SEO в этом случае все в порядке. Любой имеющийся у вас набор изображений с одинаковыми размерами, которые не влияют на смысл страницы, являются хорошими кандидатами для CSS-спрайтов. 9,96866 золотых знаков3232 серебряных знака5959 бронзовых знаков Создан 28 дек. язык-css Ваша конфиденциальность Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie. Принимать все файлы cookie
Настроить параметры Спрайты — это 2D (двухмерных) изображений , которые создаются путем объединения нескольких маленьких изображений в одно большое. CSS-спрайт — это метод, используемый для уменьшения количества HTTP-запросов, которые создаются для нескольких ресурсов изображения, путем объединения их в один файл. Это ускорит загрузку веб-страницы, а также уменьшит полосу пропускания, которая используется для загрузки нескольких изображений. Он в основном используется для создания панели навигации путем размещения в ней изображений. Пример: Предположим, веб-странице, состоящей из нескольких небольших изображений, таких как значки, кнопки и т. Д., Требуется больше времени для создания и загрузки нескольких запросов к серверу.Используя спрайты изображений, мы можем уменьшить количество HTTP-запросов, что помогает снизить нагрузку, а также повышает производительность. В этом примере мы взяли изображение, состоящее из нескольких значков. Каждый значок, присутствующий на этом изображении, ведет себя как одно изображение. Практическая реализация этого вместе с объяснением приведена ниже: Чтобы значок вел себя как отдельное изображение, мы используем элемент Спрайт CSS — это комбинированная графика, которая помогает нам отображать определенные части этого изображения. Он объединяет количество изображений в одно изображение. Веб-страница с несколькими изображениями требует много времени для загрузки, а также генерирует больше запросов к серверу. Таким образом, используя спрайты изображений CSS, мы уменьшим количество запросов к серверу, а также время загрузки. Привет, Чтобы определить положение фона для ваших спрайтов, вы должны вернуться к вашему пакету рисования и записать координаты для верхнего левого угла каждого изображения в спрайте. Например, первый спрайт находится на уровне 0,0, а затем ваш второй спрайт находится на уровне 178,0, ваш третий спрайт — на 0,26, а ваш четвертый спрайт — на 178,26 и так далее (приблизительные значения). Теперь, когда вы знаете, где они существуют на спрайте, вы просто добавляете знак минус перед этими положительными числами, чтобы найти соответствующую позицию фона). например Размер элемента, в который вы помещаете свой спрайт, должен быть таким, чтобы была видна только одна часть спрайта.Таким образом, ваш маленький спрайт может размещаться только на элементах высотой менее 26 пикселей и шириной менее 150 пикселей, иначе другие части спрайта будут видны, потому что вы не можете ограничить фон. Таким образом, вы увидите много изображений спрайтов, в которых спрайты размещены на довольно большом расстоянии от спрайта, чтобы их можно было разместить поверх элементов, не просвечивая 2 или 3 спрайта. В качестве альтернативы вы можете добавить дополнительный пустой элемент, который можно использовать для спрайта, и изменить его размер точно по размеру. Помните, что когда вы применяете фоновое изображение к встроенному элементу, оно не будет иметь ширины и высоты и вряд ли покажет полное изображение. Для небольших изображений вы можете увеличить отступы и высоту строки, возможно, чтобы они отображались, но на практике вы хотите разместить изображения на элементах блока (или плавно их), чтобы вы могли более тщательно контролировать размеры или правильно отображать вертикальные отступы. Здесь вы найдете дополнительную информацию, а также несколько ссылок на генераторы спрайтов, которые помогут вам понять процесс. Эта статья пересматривалась и переписывалась несколько раз с момента ее первой публикации в 2007 году, чтобы информация оставалась актуальной. Самый последний Несколько дней назад я хотел использовать значок Twitter с одного из моих других веб-сайтов, но мне не удалось сохранить его с веб-страницы. Затем я просмотрел исходный код страницы и обнаружил, что он использует CSS-спрайты для отображения всех изображений социальных закладок из одного большого изображения.Итак, моя тема WordPress использует CSS-спрайты для более быстрой загрузки страницы, и я совершенно не знал об этом. Затем я решил изучить его и узнать, как использовать его на веб-странице. Я был поражен, узнав, что существует так много онлайн-инструментов для создания изображения CSS Sprite и предоставляет CSS-код для их использования. Некоторые из них даже пошли еще дальше, чтобы предоставить образец HTML-страницы, чтобы сделать обучение более комфортным. Здесь я предлагаю 6 онлайн-инструментов CSS Sprite Generator, и у всех из них есть что-то уникальное, чтобы быть в списке. Надеюсь, вам понравился пост, не забудьте поделиться им с другими. Скорость веб-сайтов является проблемой почти для всех, кто присутствует в Интернете. Хотя сочетание имен изображений с использованием CSS-спрайтов звучит немного странно, но это популярный метод повышения производительности, который ускоряет работу вашего веб-сайта WordPress, HTML за счет уменьшения количества HTTP-запросов, необходимых для загрузки изображений на ваш сайт. Для этого есть несколько причин, но та, которую мы собираемся обсудить, связана с изображениями. Используя генератор CSS Sprite, вы можете воспользоваться этим методом оптимизации производительности с минимальными усилиями с вашей стороны.Вам нужно будет работать с CSS и HTML на базовом уровне, но вам не нужно понимать основной код, и мы покажем вам, где именно все разместить. В этом посте мы расскажем немного больше о том, что такое CSS-спрайты и когда вы хотите использовать их на своем сайте WordPress. Затем мы покажем вам, как комбинировать изображения, с подробным пошаговым руководством с использованием CSS-спрайтов в WordPress. Эта статья более подробно расскажет о следующем. Без CSS Sprite каждое изображение на вашем сайте WordPress представляет собой отдельный файл.Когда кто-то посещает ваш веб-сайт, браузер этого человека выдает HTTP-запрос на загрузку каждого отдельного файла изображения, который вы можете увидеть, если посмотрите на диаграмму анализа водопада в инструменте тестирования оптимизации производительности, таком как Pingdom или GTmetrix . Если вы используете пять изображений на странице, это означает пять разных HTTP-запросов — по одному для каждого изображения. Это проблема, потому что, при прочих равных, меньшее количество HTTP-запросов означает более быструю загрузку сайта. Чтобы исправить это, вы можете добавить свои изображения к как можно меньшему количеству изображений, используя CSS-спрайтов . По сути, это означает, что вы объединяете все свои различные изображения в один файл изображения. Затем вы используете CSS, чтобы управлять одним изображением, чтобы показать в любом месте, которое вы хотите показать. Таким образом, вы по-прежнему можете показывать на своей странице пять разных изображений — все они взяты из одного файла изображения. Во внешнем интерфейсе посетители-люди не видели разницы между использованием CSS Sprite и отдельными файлами изображений.Но на бэкэнде браузерам посетителей нужно будет только загрузить файл изображения, что ускорит время загрузки страницы вашего сайта. Это ключевая стратегия повышения отзывчивости. Крупные поставщики услуг, обслуживающие миллионы пользователей, такие как Amazon, Apple, Facebook и Google, широко используют спрайты CSS. Решение этого сценария называется спрайтом изображения, который объединяет несколько небольших изображений в одно изображение, чтобы веб-страница могла отображаться намного быстрее. Хотя CSS-спрайты могут ускорить время загрузки вашей страницы, вы не хотите объединять все свои изображения WordPress с помощью CSS-спрайтов, потому что есть некоторые недостатки. То есть, комбинируя ваши изображения со спрайтами CSS, вы не можете добавить отдельный замещающий текст и заголовок для каждого изображения: По этим причинам вы хотите ограничить использование CSS Sprite декоративными изображениями. Вот несколько примеров, где подразумеваются CSS-спрайты: Как правило, это, вероятно, изображения, которые вы показываете на всем сайте или на основных статических страницах. С другой стороны, вы, вероятно, не захотите комбинировать изображения с помощью CSS-спрайтов для изображений в сообщениях вашего блога. Например, эти изображения могут быть хорошим кандидатом для CSS Sprite, потому что: CSS-спрайтов — это то, что приходит нам на помощь.Это метод объединения нескольких изображений в одно изображение. Следовательно, это сокращает время отрисовки веб-страницы. Для иллюстрации представьте, что на вашей веб-странице 6 изображений. Это означает, что на сервер будут отправлены HTTP-запросы шесть раз. Если все изображения объединены в один файл изображения, это означает, что браузеру необходимо отправить только один запрос. Необходимые будут отображаться при смещении файла изображения. В конечном итоге это приводит к быстрой загрузке страницы. Несколько изображений объединяются в один лист спрайтов и размещаются в виде сетки. Когда требуется конкретное изображение: Этот метод применяется, когда на веб-странице есть несколько изображений одного размера, например (кнопки и логотипы). Предположим, вы хотите отобразить на главной странице два разных изображения: Во-первых, вы воспользуетесь генератором спрайтов CSS для объединения отдельных изображений каждой службы в одно изображение.Вот как выглядит составное изображение: В нашем примере мы используем SEO и цифровой маркетинг: Затем вы добавляете CSS, который инструмент предоставляет на ваш сайт, а затем отображаете каждое изображение, добавляя Если это все еще не имеет смысла, не волнуйтесь — на следующем этапе мы покажем вам шаг за шагом, как это сделать на вашем сайте WordPress! Вы можете использовать любой инструмент редактирования изображений для создания таблицы спрайтов CSS. CSS Sprites могут помочь ускорить ваш сайт WordPress, добавив ваше изображение в один файл. Вы не должны использовать CSS-спрайты для всех ваших изображений, потому что у них есть недостатки, когда дело касается SEO и доступности. Но для декоративных изображений, например, на вашей домашней странице, CSS Sprite — это умный метод оптимизации производительности. Чтобы объединить изображения с помощью CSS-спрайтов, вы можете: Мы известная компания по веб-дизайну и веб-разработке, которой доверяют. Вот почему наша обязанность — помочь людям узнать и решить проблему, прежде чем она доставит им много проблем. В этой статье мы описали важность, преимущества и решение для объединения изображений с помощью CSS-спрайтов. Если вы сделаете это правильно, это может улучшить производительность и SEO-рейтинг вашего сайта. У вас есть дополнительные вопросы о том, как комбинировать изображения с помощью CSS Sprite в WordPress? Оставить комментарий! используются во всем: от компьютерных игр до физических устройств и даже в Интернете.
Это отличный способ оптимизировать и комбинировать варианты изображений и значков.
Некоторые преимущества использования таблицы спрайтов включают ограничение количества обращений, которые пользователь должен совершить для получения ваших ресурсов, и они также имеют тенденцию быть меньше по размеру по сравнению с загрузкой каждого актива по отдельности. Используя CSS, мы можем даже применять анимацию и состояния взаимодействия с помощью таблицы спрайтов. Если вы когда-нибудь участвуете в игровом джеме (хакатоне по созданию игр) или в чем-то подобном, они могут быть невероятно полезными, особенно если речь идет о ограничении размера. В этом посте мы рассмотрим таблицы спрайтов в контексте веб-приложений и рассмотрим некоторые инструменты, доступные вам при работе с ними. Мы также оживим спрайт моего кота Монтесумы, потому что, ну… это мой блог, и я делаю то, что хочу. Каждый лист спрайтов состоит из серии статических изображений. Они могут различаться по размеру, цвету и составу, если отдельные изображения не пересекаются друг с другом. Давайте посмотрим на этот лист спрайтов значков в качестве примера, который содержит несколько различных вариантов. Каждый значок имеет одинаковый интервал, с отступом Показать отдельный элемент из таблицы спрайтов довольно просто.Используя CSS, мы создадим div и установим фон для изображения листа спрайтов. Мы также установим свойство По умолчанию здесь ничего не отображается, потому что мы еще не настроили область просмотра. Поскольку я создал этот лист спрайтов, я знаю, что каждое изображение в таблице спрайтов имеет высоту и ширину Я попытался продемонстрировать это на изображении ниже. Зеленая область представляет div области просмотра, а красная область представляет то, что происходит за div, невидимое для пользователя. Поскольку мы не устанавливаем свойство Поскольку между каждым значком в таблице спрайтов имеется отступ Поскольку все, что мы делаем для переключения между каждым значком, — это настройка свойства Таблицы спрайтов могут быть проблемой с точки зрения доступности.Когда программа чтения с экрана взаимодействует с нашим элементом таблицы спрайтов, она не распознает его как изображение, а только как пустой элемент div.
В зависимости от того, что представляет собой лист спрайтов, вам может потребоваться включить некоторый описательный текст в элемент, который его отображает. Есть несколько способов сделать это, но одно решение — применить текст к элементу с помощью класса, который делает текст невидимым для пользователей, не использующих средства чтения с экрана. Таким образом, вы сможете отобразить значок таблицы спрайтов так, как он задуман, сделав его наглядным и доступным для пользователей программ чтения с экрана, поскольку текст будет зачитан для них. Существует также ряд применимых ролей и меток aria, которые могут быть более подходящими в зависимости от вашего варианта использования. Обеспечение доступности вашей страницы должно быть первоочередной задачей, и важно распознавать недостатки рендеринга изображений таким образом. Используя CSS, вы можете анимировать листы спрайтов, используя анимацию ключевых кадров. Если вы не знакомы с анимацией по ключевым кадрам, они позволяют определять простую анимацию с помощью свойств CSS, используя систему масштабирования от 0 до 100%. В этом примере давайте возьмем этот спрайт-лист Монтесумы Рыжика, величайшего волшебника на всей земле. Этот лист спрайтов представляет собой анимацию ходьбы, и каждое изображение составляет часть цикла. Спрайт-лист имеет размер Ниже представлена настроенная анимация по ключевым кадрам, которая должна адекватно распределять каждый переход кадров. Чтобы цикл оставался бесшовным, я применил то же начальное изображение к последнему ключевому кадру в анимации. Мы можем комбинировать анимацию по ключевым кадрам с рядом свойств времени, чтобы определить, насколько быстро каждый стиль должен переключаться, зацикливаться, задерживаться и т. Д.Для этого я установил анимацию Причина, по которой это происходит, заключается в плавной анимации между каждой позицией в ключевом кадре.Чтобы исправить это, нам нужно применить свойство Поскольку наш лист спрайтов состоит из пиксельной графики, нам нужен лучший способ масштабирования без увеличения фактического размера листа спрайтов.Это может быть достигнуто установкой свойства рендеринга изображения на Это приведет к тому, что наш пиксельный рисунок будет намного больше, но при этом сохранит исходную высоту и ширину для его анимации.Этот метод будет работать с любым изображением, но особенно полезен для пиксельных спрайтов, так как сохраняет их общий вид. Вы можете связать несколько анимаций вместе с помощью слушателей событий JavaScripts Они могут быть особенно полезны при связывании анимаций вместе, поскольку вы можете использовать их для добавления / удаления связанных классов для определенной анимации, чтобы воспроизвести другую. В моем примере у меня есть две анимации по ключевым кадрам, между которыми я хочу переключаться: одна, когда Монте читает книгу, а другая — где он работает. Поскольку анимация книги не зацикливается, мы можем использовать прослушиватель событий В реальном примере, таком как игра, анимация ходьбы может использоваться, когда пользователь нажимает клавиши ходьбы, а анимация чтения может использоваться, когда нажимается кнопка чтения.Затем мы использовали бы прослушиватель событий, чтобы выяснить, когда анимация чтения завершена, переключая спрайт обратно на анимацию, которая указывает на какое-то состояние ожидания. Такое переключение анимации на удивление легко с помощью всего лишь небольшого количества JavaScript. Вы можете увидеть пример этого в действии ниже, нажмите кнопку! Текущий статус: IdleStart Animation Спасибо за чтение, в следующий раз, когда вы будете играть в игру, в которой используются спрайты, посмотрите, сможете ли вы выяснить, как анимации связаны друг с другом, надеюсь, после прочтения этой статьи вы сможете просматривать Матрицу.
, теперь выполняется с помощью чего-то вроде alt
(который индексируется Google) и застреваем с атрибутом title (который, насколько я понимаю, не индексируется). ).
для элементов, специфичных для страницы, и используйте спрайты для декоративных элементов, которые контекстуально не соответствуют представленному контенту.
Дом
тегов со спрайтами CSS:
sprite.png
может быть прозрачным пикселем 1×1, сжатым до <50 байт.
#someSprite {
width: 74px;
высота: 38 пикселей;
фон: url ('/ images / sprites.png') left 0px вверху 84px;
}
alt
. alt
переоценен.Я думаю, что слишком много людей стараются изо всех сил, чтобы убедиться, что на их страницах есть теги или
. Я не верю, что тебе больно не иметь его. Просто убедитесь, что если у вас есть img
, вам назначен тег alt
. alt
, и для каждого запроса изображения или HTTP-запроса сайт будет замедляться. Задача CSS-спрайта — помочь свести к минимуму эти запросы и ускорить время загрузки страницы. Не тот ответ, который вы ищете? Посмотрите другие вопросы с метками seo css или задайте свой вопрос.
CSS image Sprite — Studytonight
Live: создание спрайта изображения с использованием CSS
.Затем мы указали класс .sprite
, а затем задали фоновое изображение внутри этого класса. Затем мы указали свойства CSS для каждого значка отдельно. Преимущества CSS Sprite
Заключение
Позиционирование фона спрайтов — HTML и CSS — Форумы SitePoint
background-position: 0 0; / * первый спрайт * /
background-position: -178px 0; / * второй спрайт * /
background-position: 0 -26px; / третий спрайт /
background-position: -178px -26px; / * четвертый спрайт * / CSS-спрайты: что это такое, почему они крутые и как их использовать | CSS-уловки
6 Онлайн-инструменты для создания CSS-спрайтов
1. Генератор CSS-спрайтов:
Это один из лучших онлайн-инструментов для изображений CSS-спрайтов и получения их кода CSS и HTML. Самое приятное то, что вы можете создать здесь свою учетную запись, а затем через некоторое время войти в систему, чтобы получить данные своего старого проекта. Вы можете добавить больше изображений в проект и снова сгенерировать код. Очень полезный инструмент для дизайнеров, которые создают темы и много используют методы CSS Sprite. 2. Производительность веб-сайта CSS Sprite Generator:
Это один из наиболее широко используемых инструментов с множеством опций.Они предоставляют возможность создавать изображение в любом и вертикальном формате, игнорировать повторяющиеся изображения, параметры размера изображения. В этом инструменте мне очень понравились две вещи: 3. CSS Sprit:
Если вы хотите иметь эффект наведения на изображение CSS Sprite, используйте этот инструмент. Единственный недостаток инструмента — размер каждого файла не должен превышать 5 КБ.Они предоставляют CSS и HTML-код для использования, и вы даже можете загружать изображения с URL-адреса в режиме Custom Sprites. 4. Sprite Box:
Обратный инструмент для создания кода CSS для отображения выбранного изображения из одного изображения. Визуальный редактор WYSIWYG и интерфейс на основе JQuery прост и удобен в использовании. Отличный инструмент для использования, если вы просто хотите, чтобы какая-то часть изображения отображалась с помощью CSS-спрайтов. 5. Sprite Gen:
Простой онлайн-инструмент для создания изображения CSS Sprite и получения его кода CSS.Удобен для базового использования, простой интерфейс на основе Ajax. 6. CSS-спрайты:
Если ни один из вышеперечисленных инструментов не работает, вы можете использовать его. Простой инструмент, содержащий основные правила CSS, изображение CSS Sprite и образец HTML-страницы для его использования.
Если у вас много изображений, не используйте этот инструмент. Что такое CSS-спрайт | Как объединить изображения с помощью CSS-спрайтов — OXO Solutions®
Как объединить изображения с помощью CSS-спрайтов: пошаговое руководство
Что значит объединять изображения с помощью CSS-спрайтов?
Какое же решение?
Начните работу с CSS-спрайтами WordPress сегодня Почему мы заботимся:
Анимация таблиц спрайтов с помощью CSS
Таблицы спрайтов Основы
5px
между каждым значком и размещается случайным образом в произвольном порядке. no-repeat
.
.spritesheet-icon {
фоновое изображение: URL (./ spritesheet_icon.png);
фон-повтор: без повторения;
дисплей: блок;
}
175 пикселей
.Мы можем установить для этого свойства высоты и ширины, а затем использовать свойство background-position
для размещения листа спрайтов так, чтобы каждый значок правильно помещался в области просмотра. background-size
, фоновое изображение останется неизменным и не будет соответствовать размеру контейнера, в котором оно отображается. 5px
, начальная позиция будет -5px -5px
, для перемещения вправо мы добавим 10px
(комбинированный горизонтальный отступ между двумя значками) плюс ширина значка, поэтому 5 + 10 + 175 = 190
, что сделает вторые значки background-position -190px -5px
. Мы можем следовать этой логике на протяжении всего листа спрайтов.
.spritesheet-icon {
фоновое изображение: URL (./ spritesheet_icon.png);
фон-повтор: без повторения;
фоновая позиция: -380px -5px;
дисплей: блок;
высота: 175 пикселей;
ширина: 175 пикселей;
}
background-position
, мы можем настроить нашу таблицу стилей для переключения между каждым значком с именем класса. Мы также можем комбинировать это с псевдоселекторами, чтобы создать эффект, когда пользователь взаимодействует со значком.Это может быть особенно полезно, если ваша таблица спрайтов содержит варианты значка при наведении курсора или значке.
.spritesheet-logo {
фоновое изображение: URL (./ spritesheet_icon.png);
фон-повтор: без повторения;
дисплей: блок;
высота: 175 пикселей;
ширина: 175 пикселей;
& - downasaur {
фоновая позиция: -5px -5px;
&: hover {
фоновая позиция: -190px -5px;
}
}
& - vort {
фоновая позиция: -380px -5px;
}
&--Номерной знак {
фоновая позиция: -190px -380px;
}
}
Доступность
. Screen-reader-only {
граница: 0;
clip-path: inset (50%);
клип: rect (0, 0, 0, 0);
высота: 1 пикс;
переполнение: скрыто;
отступ: 0;
позиция: абсолютная;
белое пространство: nowrap;
ширина: 1 пиксель;
}
Анимация с использованием ключевых кадров
616 пикселей,
пикселей в ширину и 52 пикселей,
пикселей в высоту, и на нем 8 кадров.Чтобы определить область просмотра, нам нужно разделить 616 на количество кадров, в результате получится 77 пикселей
. В результате мы знаем, что каждый кадр нужно будет перемещать на 77px
каждый раз по оси X.
@keyframes walkAnimation {
0% {
фоновая позиция: 0px 0px;
}
12.5% {
background-position: -77px 0px;
}
25% {
background-position: -154px 0px;
}
37,5% {
фоновая позиция: -231px 0px;
}
50% {
background-position: -308px 0px;
}
62,5% {
background-position: -385px 0px;
}
75% {
фоновая позиция: -462px 0px;
}
87,5% {
фоновая позиция: -539px 0px;
}
100% {
фоновая позиция: 0px 0px;
}
}
на walkAnimation
и установил длительность в 1 секунду с количеством итераций бесконечное
, чтобы она зацикливалась. Если мы объединим это с нашими базовыми свойствами CSS, мы получим что-то немного странное.
.montezuma {
анимация: walkAnimation;
продолжительность анимации: 1 с;
количество итераций анимации: бесконечно;
фон-повтор: без повторения;
размер фона: обложка;
дисплей: блок;
высота: 51 пикс;
ширина: 77 пикселей;
}
animation-time-function
, чтобы указать кривую анимации. В этом примере мы установим animation-time-function: steps (1, end)
, чтобы указать переход только между началом каждого кадра. Это приводит к более естественной анимации ходьбы. Масштабирование пиксельных спрайтов
четкие края
, это сохранит края, когда что-то масштабируется, в отличие от попытки применить сглаживание. В некоторых браузерах вам необходимо установить для этого свойства значение с пикселями
в качестве запасного варианта. Затем мы также можем применить функцию масштабирования для увеличения размера. Вы можете найти пример этого ниже.
.montezuma {
анимация: walkAnimation;
продолжительность анимации: 1 с;
количество итераций анимации: бесконечно;
фон-повтор: без повторения;
размер фона: обложка;
дисплей: блок;
высота: 51 пикс;
ширина: 77 пикселей;
// Усиливать!
рендеринг изображения: четкие края;
рендеринг изображений: пиксельный;
преобразование: масштаб (4)
}
Смешивание анимаций
animationstart
и animationend
. Они работают аналогично другим прослушивателям событий, в которых функция обратного вызова срабатывает после начала или завершения анимации по ключевым кадрам.
const element = document.querySelector ('# элемент-анимации')
element.addEventListener ('animationstart', () => {
})
element.addEventListener ('animationend', () => {
})
animationend
, чтобы дождаться ее завершения, а затем переключить класс на текущую анимацию.
const element = document.querySelector ('# элемент-анимации')
element.addEventListener ('animationend', () => {
element.classList.remove ('анимация - книга');
element.classList.add ('анимация - бег');
setTimeout (() => {
element.classList.remove ('анимация - бег');
element.classList.add ('анимация - простаивает');
}, 5000)
})
Это обертка