Svg для сайта: 5,100+ бесплатных иконок в формате SVG и в виде иконочных шрифтов. Потрясающие иконки для любого проекта
Практическое руководство о SVG в вебе
Подготовка SVG для использования в вебе это очень простой процесс, не сложнее экспорта JPEG или PNG. Используйте любой привычный для вас графический редактор (Illustrator, Sketch, Inkscape [бесплатен], и тому подобное [или даже Photoshop, если вы используете слои с формами]) с тем размером изображения, который вы планируете использовать. Обычно я работаю в Иллюстраторе, поэтому я объясню некоторые способы подготовки файлов в этой программе, но вообще они применимы и для любой другой программы. Вам, возможно, стоит перевести текст в кривые, поскольку шрифт, скорее всего, будет неправильно отображаться, если, конечно, вы не планируете стилизовать их с помощью веб-шрифта, используемого на странице (что возможно!). Не стоит также превращать все объекты в единые формы, особенно если у вас есть обводка, которой необходимо будет управлять на странице, тем более преобразование объектов зачастую не уменьшает размер файла. Любые имена, присвоенные группам или слоям, будут добавлены к SVG как ID элемента. Это довольно удобно для стилизации, но немного увеличит общий размер файла.
Перед тем как сделать экспорт, необходимо проверить, все ли изображения находятся в целочисленной пиксельной сетке (то есть, например не 23.3px × 86.8px). В противном случае скорее всего изображению не будет хватать чёткости и часть изображения обрежется. В Иллюстраторе это можно сделать следующим образом: Object > Artboards > Fit to Artwork Bounds
. Затем жмём save as
и выбираем SVG, и оставляем настройки по умолчанию. Здесь можно сделать небольшую оптимизацию, но на самом деле не стоит, так как далее мы будем применять разные улучшающие приёмы, поэтому сейчас мы не будем тратить впустую время на эти настройки.
Приёмы для уменьшения размеров файла.
(Смотрите ресурсы по оптимизации)
Существует множество статей по оптимизации SVG, предлагающих кладезь знаний в этой теме, но я хочу поделиться парой приёмов, которые считаю наиболее эффективными и полезными. Они не требуют много усилий и могут легко вписаться в рабочий процесс.
Чтобы добиться наименьшего размера SVG, логично будет удалить из него всё лишнее. Наиболее известная и полезная программа (по крайней мере я так думаю) для обработки SVG это SVGO. Она удаляет весь не нужный код. Но! Будьте внимательны используя эту программу, если планируете управлять SVG при помощи CSS / JS, так как она может слишком сильно почистить код, что затруднит дальнейшие изменения. Удобство SVGO ещё и в том, что её можно включить в процесс автоматической сборки проекта, но можно также использовать GUI если хочется.
Разбираясь подробнее с правильным удалением всего ненужного, мы можем сделать ещё кое-что в графическом редакторе. Сперва нужно убедиться, что используется настолько мало контуров/форм, насколько это возможно, так же как и точек на этих контурах. Можно объединять и упрощать всё, что поддаётся упрощению, и удалить все ненужные точки. В Иллюстраторе есть плагин VectorScribe с инструментом
, который поможет удалить точки и при этом оставить общую форму той же.
Предварительная оптимизация
Smart Remove Brush Tool удалил точки
Дальше будем увеличивать изображение. В Иллюстраторе удобно включить просмотр с пиксельной сеткой View > Pixel Preview
и проверить, как располагаются контуры. Чтобы разместить контуры по сетке, потребуется немного времени, но эти усилия окупятся и позволят добиться более чёткого рендеринга (лучше обратить на это внимание заранее).
Точки вне сетки
Выравнивание по сетке
Если есть два и более объекта для выравнивания, то стоит удалить все ненужные перекрытия. Иногда даже если контуры тщательно выровнены, может быть видна тонкая белая линия. Чтобы предотвратить такое, можно немного наложить объекты друг на друга в местах перекрытия. Важно: в SVG z-index
имеет определённый порядок, который зависит от объекта, находящегося снизу, поэтому стоит поместить верхний объект в нижнюю часть файла в коде.
И, наконец, последнее, но немаловажное, то, о чём обычно забывают — это активировать gzip сжатие SVG на вашем сайте в .htaccess
файле.
AddType image/svg+xml svg svgz
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "image/svg+xml" \
"text/css" \
"text/html" \
"text/javascript"
... etc
</IfModule>
</IfModule>
В качестве примера того, насколько эффективна эта техника, я воспользуюсь оригинальным логотипом Breaking Borders и оптимизирую его таким образом: увеличиваю размер до того, каким он должен быть; приведу в порядок контуры; удалю максимально возможное количество точек; передвину точки на целочисленные пиксели; сдвину все области перекрытий и отправлю это всё в SVGO.
Оригинал: 1,413b
После оптимизации: 409b
В итоге размер файла стал меньше на ~71% (и на ~83% при сжатии)
Дополнение: Rob Sterlini заметил, поскольку «b» повторяется, можно использовать элемент <use>
, для повторения, что ещё больше уменьшит размер файла — и был абсолютно прав.
После оптимизации с использованием <use>: 311b
Размер файла стал меньше на ~78%
Если применить эту технику ко всем файлам SVG, это значительно улучшит ваш сайт.
Описание и примеры стандартных функций SVG
Доминирующей причиной появления этого блога стало незаслуженное забвение на целых десять лет языка разметки масштабируемой векторной графики – SVG (Scalable Vector Graphics), входящего в подмножество расширяемого языка разметки XML.
Стандарт SVG 1.0 был принят в качестве спецификации Консорциумом Всемирной паутины (W3C) в сентябре 2001 г. Стандарт SVG 1.1 и его версии SVG mobile profiles (SVG Basic and SVG Tiny) были приняты консорциумом в качестве рекомендации в январе 2003 г.
Сейчас ведутся работы по созданию стандарта SVG 2.0
Основные преимущества формата SVG.
Я не буду долго распространяться о преимуществах векторной графики перед растровой в вебдизайне, замечу лишь, что, однажды созданный, файл в формате SVG одинаково хорошо выглядит без потери качества и на мобильном устройстве и на станционарном мониторе домашнего ПК.
Шапка данного сайта выполнена в формате SVG, попробуйте уменьшить окно браузера до минимальных размеров, картинка на “лету” будет также пропорционально уменьшаться.
SVG – это двухмерная графика и тем не менее это текстовый формат, который можно легко править в блокноте или просто рисовать в векторных редакторах: Incscape , Adobe illustrator, CorelDRAW
Бесконечное полотно документа svg.
Итак, как происходит формирование векторного изображения.
Документ формата SVG – это двухмерный объект, который может иметь бесконечные координаты, как в положительном, так и в отрицательном направлении по осям X и Y. Также документ SVG имеет две области просмотра:
При уменьшении размера пользовательского окна просмотра viewbox можно пропорционально увеличивать фрагмент изображения в системной области просмотра или уменьшать его при увеличении размера viewbox.
Таким образом реализуется эффект лупы. Более подробно эти процессы разобраны в статье: Трансформация изображений SVG при изменении параметров Viewbox.
Взаимодействие SVG, XML с HTML, CSS, Jscript
В SVG, как и в HTML можно добавлять ссылки на внешние ресурсы. Но если в HTML одна картинка может служить только для одной внешней ссылки, то в SVG документ можно добавлять сколько угодно внешних ссылок . Картинка кликабельна.
Внутрь HTML страницы легко встраивается код SVG документа или целиком подключается внешний SVG файл. Можно наоборот, внутри SVG файла разместить код HTML внутри тегов foreignObject. Получаются интересные эффекты: Внутри SVG файла находится работающий внешний HTML сайт. К SVG формату можно подключать внешние таблицы стилей CSS 2.0, что позволяет управлять сразу несколькими файлами *.svg. Также вполне допустимо подключение стилей внутри файла *.svg внутри тегов style или использовать внутренние стили непосредственно внутри командных строк фигур и путей.
SVG, как любой основанный на XML формат, позволяет использовать для его обработки таблицы трансформации (XSLT).
Анимация и интерактивность SVG.
Анимация в SVG осуществляется при помощи языка SMIL (Synchronized Multimedia Integration Language). Также поддерживаются скриптовые языки на основе спецификации ECMAScript — это встраиваемый расширяемый язык программирования.
То есть всё находится в одном месте, внутри документа SVG, поэтому нет необходимости для подключения внешних библиотек.
На каждую отдельную фигуру или на целое изображение можно установить обработчик событий (клик, наведение мышки, нажатие клавиши и т.д), таким образом, пользователь может управлять рисунком. Наведите курсор мышки на кнопку“Start” на примере слева.
По событию mouseover на этой кнопке начнется анимация по команде begin=”startButton.mouseover” – движение цветных шариков по криволинейному пути. Закончится анимация либо через заданные в коде 16 секунд, либо в любой момент по наведению курсора мышки на цветные радиокнопки “Stop”. При этом каждая радиокнопка управляет своим объектом совпадающим по цвету. На рисунке ниже анимация начинается и заканчивается при нажатии клавиши мышки на кнопки GO и STOP. В этом случае работает событие click. Команда на запуск анимации – begin=”gO.click” и соответственно остановка – end=”stop.click”
Уже встроенные в SVG языки программирования позволяют реализовать довольно сложные сценарии анимации. Но, в дополнение к этому есть еще более мощные средства для реализации интерактивности графики и ее анимации – это внешние библиотеки сторонних разработчиков: D3.js, BonsaiJS, Svg.js, Snapsvg.js
Еще примеры анимации ⇛
Недостатки SVG формата
- С увеличением количества мелких деталей в изображении, быстрее растёт размер файла SVG-данных. Предельный случай — когда изображение представляет собой белый шум. В этом случае SVG не только не даёт никаких преимуществ в размере файла, но даже имеет проигрыш по отношению к растровому формату. На практике, SVG становится невыгоден уже задолго до того, как изображение дойдёт до стадии белого шума.
- Трудность использования в крупных картографических приложениях из-за того, что для правильного отображения маленькой части изображения документ необходимо прочитать целиком.
- В настоящее время SVG формат применяется в Интернете сравнительно мало, из-за недостаточной кроссбраузерности. Лучше всего обстоят дела у Mozilla Firefox со встроенным просмотрщиком SVG, так как ее разработчики находятся в рабочей группе Консорциума Всемирной паутины (W3C) по разработке и внедрению стандарта SVG. Хуже всего дела по поддержке формата SVG у Microsoft, которая покинула группу 2003 г. Для Internet Explorer – необходим Adobe SVG Viewer (ASV). С 9 версии IE частично поддерживает функции SVG.
Браузеры Apple Safari, Google Chrome намного лучше поддерживают SVG, но не полностью, так как SVG – это большая спецификация (вдвое больше HTML 4.01), именно поэтому разработчики браузеров внедряют функции постепенно, от версии к версии. Но абсолютно все разработчики современных браузеров заявляют, что за форматом SVG будущее в области графики вебдизайна.
UPD. Добавлен новый раздел онлайн генераторы SVG кода path.
следующая: Структура SVG документа ⇛
Оптимизация ресурсов SVG на примере
От автора: оптимизация SVG (масштабируемой векторной графики) для веб-проектов имеет два преимущества: уменьшение размера файла и упрощение работы с ним. Но много раз я открывала веб-проект и обнаруживала, что ресурсы SVG можно сделать значительно меньше с помощью простых оптимизаций. В этой статье я расскажу о своем процессе оптимизации ресурсов SVG. Это может помочь вам, если вы дизайнер или разработчик, не знакомый с работой с SVG в Веб.
Многие библиотеки иконок предоставляют ресурсы SVG, которые уже хорошо оптимизированы. Но если вы создаете собственную графику или она предоставлена другим дизайнером, вы можете сделать это с помощью нескольких шагов. В основном я использую для создания и редактирования SVG Adobe Illustrator. Вот довольно простая иконка, созданная в Illustrator:
Мы можем сохранить ее, перейдя «Файл»> «Сохранить как» и выбрав опцию «SVG». Однако, если мы посмотрим на код сохраненного SVG, то увидим, что он довольно раздутый. Код содержит много ненужных данных — группы, которые можно свернуть, пути, которые можно объединить, метаданные, созданные самой программой, и многое другое:
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее<?xml version=»1.0″ encoding=»utf-8″?> <!— Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) —> <svg version=»1.1″ xmlns=»//www.w3.org/2000/svg» xmlns:xlink=»//www.w3.org/1999/xlink» x=»0px» y=»0px» viewBox=»0 0 800 800″ enable-background=»new 0 0 800 800″ xml:space=»preserve» > <g> <path d=»M90,675.6L424,97.1l48.5,28l-334,578.5L90,675.6z» /> <path d=»M547.6,279.3h70.2l-10.1,88.2l80.7-37l21.8,66.7l-87.3,17.6l59.9,65.8l-56.4,40.7l-43.8-76.8l-43.8,76.8l-56.4-40.7 l59.9-65.8L455,397.2l21.8-66.7l80.7,37L547.6,279.3L547.6,279.3z» /> </g> </svg>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?xml version=»1.0″ encoding=»utf-8″?> <!— Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) —> <svg version=»1.1″ id=»Layer_1″ xmlns=»//www.w3.org/2000/svg» xmlns:xlink=»//www.w3.org/1999/xlink» x=»0px» y=»0px» viewBox=»0 0 800 800″ enable-background=»new 0 0 800 800″ xml:space=»preserve» > <g> <path d=»M90,675.6L424,97.1l48.5,28l-334,578.5L90,675.6z» /> <path d=»M547.6,279.3h70.2l-10.1,88.2l80.7-37l21.8,66.7l-87.3,17.6l59.9,65.8l-56.4,40.7l-43.8-76.8l-43.8,76.8l-56.4-40.7 l59.9-65.8L455,397.2l21.8-66.7l80.7,37L547.6,279.3L547.6,279.3z» /> </g> </svg> |
У каждой графической программы свой собственный способ сохранения SVG, но независимо от того, которую из них вы используете, код все равно может содержать много дополнительных данных, если их не оптимизировать. Давайте рассмотрим некоторые способы решения этой проблемы.
Запуск пакета
SVGO — это пакет NPM, который запускает процесс оптимизации SVG-ресурсов во время сборки, и это хорошая идея использовать что-то подобное в рабочем процессе. Но визуальный инструмент часто лучше удаляет лишние пути и группы и позволяет нам настраивать (и просматривать) параметры оптимизации в зависимости от того, какой результат мы хотим получить.
Быстрое решение с помощью SVGOMG
Один из способов быстро удалить большую часть этих ненужных данных — инструмент Джейка Арчибальда SVGOMG. Вы можете либо загрузить файл SVG, либо напрямую вставить код, и, в зависимости от выбранных параметров, SVG будет значительно уменьшен. Возможно, вам придется поэкспериментировать с различными опциями, чтобы получить желаемый результат, особенно если ваш SVG довольно сложный, но я обычно нахожу, что для простых иконок я могу включить большинство опций, и это не окажет негативного влияния на результат.
Пропустив код через SVGOMG, мы получим следующее:
<svg xmlns=»//www.w3.org/2000/svg» viewBox=»0 0 620.2 606.5″> <defs/> <path d=»M0 578.5L334 0l48.5 28-334 578.5-48.5-28zM457.6 182.2h70.2l-10.1 88.2 80.7-37 21.8 66.7-87.3 17.6 59.9 65.8-56.4 40.7-43.8-76.8-43.8 76.8-56.4-40.7 59.9-65.8-87.3-17.6 21.8-66.7 80.7 37-9.9-88.2z»/> </svg>
<svg xmlns=»//www.w3.org/2000/svg» viewBox=»0 0 620.2 606.5″> <defs/> <path d=»M0 578.5L334 0l48.5 28-334 578.5-48.5-28zM457.6 182.2h70.2l-10.1 88.2 80.7-37 21.8 66.7-87.3 17.6 59.9 65.8-56.4 40.7-43.8-76.8-43.8 76.8-56.4-40.7 59.9-65.8-87.3-17.6 21.8-66.7 80.7 37-9.9-88.2z»/> </svg> |
Это гораздо лучше, чем оставлять графику неоптимизированной, но она содержит посторонний элемент <defs/>. И если оригинальный SVG содержит группы, слои и эффекты, то существует предел того, насколько инструмент, наподобие SVGOMG, сможет его оптимизировать. Намного лучше, если мы вернемся к графической программе и внесем некоторые изменения, прежде чем пропускать ее через инструмент оптимизации.
Редактирование SVG
Если вы знаете, как писать SVG-код, то это поможет получить самый чистый и минимизированный результат. Посмотрите документацию MDN с руководством по рисованию контуров SVG и это видео от Хейдона Пикеринга, если вы хотите получить дополнительную информацию.
Но для подавляющего большинства из нас редактирование SVG возможно только с помощью визуального инструмента. Для этого примера я использую Adobe Illustrator, но другие инструменты, такие как Sketch, имеют схожие функции редактирования.
Сколько кода вы можете удалить, отредактировав SVG, зависит от его сложности и варианта использования. Следующие советы обычно относятся к иконкам и простой графике. Сложные иллюстрации часто не могут быть отредактированы до такой степени без влияния на конечный результат — и, в некоторых случаях, возможно, лучше использовать PNG или JPG.
Разверните группы
Первое, что я делаю при оптимизации SVG, это удаляю все скрытые слои и разворачиваю группы, где это возможно. Это удаляет все группы контуров в тегах <g> кода SVG. Возможно, вы захотите сохранить некоторые группы, если планируете стилизовать или анимировать их. Вы можете развернуть группу в Illustrator с помощью сочетания клавиш Shift+CMD+G.
Преобразование в контуры
Затем я конвертирую все штрихи в контуры, где это возможно (Рис 04). В Illustrator мы можем сделать это, используя Объект> Расширить. Могут быть некоторые исключения: если вы стилизуете или анимируете stroke-dasharray или stroke-dashoffset, вам нужно оставить их нетронутыми, а также, если вы хотите сохранить ширину обводки при масштабировании SVG.
Вы также можете использовать параметр «Развернуть» в Illustrator для преобразования областей изображения, например простых рисунков, в индивидуально выбираемые контуры. Для сложных или детализированных узоров, возможно, лучше этого не делать.
Преобразование текста в контуры
Иногда полезно преобразовать текст в контуры, если текст носит чисто декоративный характер, или содержимое будет передаваться другим способом, например с заголовком, текстом кнопки или aria-label. Несмотря на то, что использовать элемент SVG <text> полезно, это не всегда имеет смысл, особенно если вам нужно загрузить другой веб-шрифт для отображения текста SVG. Мы можем преобразовать текст в контуры в Illustrator, выбрав его и нажав «Текст»> «Преобразовать в контуры».
Объединение контуров
Теперь, когда все в нашем SVG — это контуры, мы можем объединить их, чтобы уменьшить их количество. Возьмем для примера иконку «поиск»: два пересекающихся контура могут быть объединены в один, что даст единый контур.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнееЧтобы объединить контуры в Illustrator, мы выбираем их и используем параметр объединения в меню «Навигатор».
Исключением является сценарий, когда мы хотим стилизовать или анимировать контуры по отдельности — в этом случае их объединять не следует.
Удалите дополнительные контуры или группы
Когда контуры объединены, я выполняю последнюю проверку слоев и удаляю все пустые слои или дубликаты контуров, которые могли быть созданы в процессе.
Подгонка артборда
Когда я использую в HTML SVG-иконки, я не хочу, чтобы вокруг них оставалось дополнительное пространство, от которого я не могу избавиться. Это может произойти в случае, если SVG viewBox больше, чем содержимое. В Illustrator я выбираю «Объект»> «Артборды»> «Подогнать к границам графического объекта», чтобы размеры viewBox соответствовали графическому объекту.
Экспорт
Теперь мы готовы сохранить SVG. В Illustrator мы можем выбрать «Файл»> «Сохранить как» и выбрать в качестве формата SVG. В появившемся окне нам будет предложено несколько параметров SVG. Я обычно выбираю «Атрибуты представления», чтобы настроить параметры стиля.
SVG теперь готов к запуску через инструмент оптимизации. Для иконок я обычно в SVGOMG могу настроить большинство параметров. Вы заметите, что код стал намного чище! Но даже это не всегда удаляет все, что можно удалить. В приведенном ниже коде у меня все еще остается пустой элемент <defs>, поэтому стоит выполнить еще одну окончательную ручную очистку и удалить его в редакторе кода. Теперь SVG готов к использованию!
Использование SVG
SVG можно использовать в Интернете различными способами, в том числе:
В теге img
В свойстве CSS background-image
Встроенным в HTML
Спрайты
В частности, встроенные SVG-иконки обеспечивают наибольшую производительность и гибкость, и лучший способ их использования — создание спрайта. Если вы не хотите делать это вручную, доступны пакеты NPM, которые автоматически генерируют SVG-спрайты. Icomoon — это приложение, которое предлагает аналогичный сервис.
Затем, когда дело доходит до их использования, вместо вставки всего SVG, мы можем ссылаться на них с помощью элемента <use>:
<svg xmlns=»//www.w3.org/2000/svg»> <use href=»#myIcon» /> </svg>
<svg xmlns=»//www.w3.org/2000/svg»> <use href=»#myIcon» /> </svg> |
Поскольку мы используем контуры, то можем применить следующий CSS-код, чтобы дать указание всем файлам наследовать текущий цвет, а не использовать свойство fill: SVG-иконка, используемая в кнопке, будет просто наследовать цвет текста кнопки.
svg { fill: currentColor; }
svg { fill: currentColor; } |
Нам нужно удалить атрибут fill самого SVG во время процесса оптимизации, чтобы стилизовать его таким образом с помощью CSS.
Заключение
Это выглядит, как много действий, но на самом деле весь процесс занимает удивительно мало времени, если вы хорошо ориентируетесь в графической программе. После нескольких повторений это закрепляется в мышечной памяти. Мне нравится оптимизировать большинство SVG-значков пакетно в начале проекта. Стоит потратить немного времени заранее, чтобы облегчить работу с графикой в будущем.
Автор: Michelle Barker
Источник: //css-irl.info
Редакция: Команда webformyself.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнееВеб-дизайн. Быстрый старт
Изучите курс и узнайте, как создать дизайн и протопип сайта в Figma!
Смотреть видеоКакой формат лучше подходит для сохранения изображений, предназначенных для веб-сайтов; PNG или SVG?
Простой ответ здесь — использовать оба.
Тот факт, что вы назвали SVG в качестве опции, означает, что мы можем исключить фотографию в качестве предполагаемого варианта использования — потому что SVG полезны только для линейной графики, такой как логотипы, значки и иллюстрации, похожие на картинки.
Если вы рассматриваете этот выбор для фото графики, выбора нет; PNG, вероятно, всегда будет лучше. Для графики, где SVG является жизнеспособным вариантом, SVG — лучший вариант с резервным вариантом PNG / JPEG. PNG имеет много преимуществ, но по масштабируемости и размеру файла он часто не будет соответствовать SVG.
Использование только одного или другого означает, что вам придется пожертвовать либо обратной совместимостью, либо прогрессивным улучшением.
Взвешивая их друг против друга, PNG, безусловно, будет поддерживаться большим количеством браузеров, чем SVG, на данный момент, но разрешения вновь выпущенных устройств постоянно растут, а это значит, что PNG придется обслуживать на основе большого разнообразия разрешений. (через Media Queries, JavaScript или User Agent Sniffing) или масштабируется браузерами, что может привести к некоторым несовершенным результатам.
Глядя на то, что мы знаем, будущее держит; всегда более высокие разрешения, более широкая поддержка и более широкое использование SVG в Интернете; имеет смысл строить для того, что будет.
В общем, веб-сайты должны быть построены так, чтобы работать в течение многих лет; через 5 лет ваш прекрасно обратно совместимый веб-сайт может выглядеть потрясающе для 2% интернет-пользователей, все еще использующих старые браузеры, но довольно скудных в современных браузерах с сумасшедшими разрешениями — так что это очень большой набор трудных решений о том, какой путь компромисс.
Ваши варианты в ноябре 2014
Только PNG
Ради качества вам нужно будет обслуживать как минимум пять разных версий в зависимости от размеров экрана и разрешения — и это очень консервативное предположение, вы можете получить 10-15 версий одного и того же изображения, если хотите быть предельно тщательным , Это также занимает некоторое время для реализации.
Если вы решили обслуживать один графический объект и масштабировать его в браузере, результаты, вероятно, будут менее чем идеальными и даже могут быть некрасивыми в зависимости от степени масштабирования.
Большое количество медиа-запросов может излишне раздуть CSS и негативно повлиять на скорость загрузки страниц.
Отлично будет смотреться на старых браузерах и устройствах, но не так здорово на новых.
SVG с одним резервным PNG / JPEG / GIF
Вы можете использовать SVG везде, а затем использовать его в другом формате для браузеров, которые не поддерживают SVG. Главное преимущество — вам нужен только один файл для всех разных разрешений.
Если вы пойдете на компромисс и согласитесь с тем, что пользователи устаревших браузеров могут жить с несовершенно масштабированной графикой, вам потребуется только одна другая версия каждого файла в формате PNG, JPEG или GIF.
Это займет примерно столько же времени, что и в случае с медиа-запросами только в формате PNG — возможно, даже меньше, а это, вероятно, будет примерно такой же ценой.
Будет отлично смотреться на всех новых устройствах, с жертвами, сделанными на старых технологиях.
SVG с несколькими запасными вариантами PNG / JPEG / GIF в зависимости от разрешения и размера экрана
Сначала вы могли бы обслуживать SVG, а затем зависящие от разрешения PNG для браузеров, которые не поддерживают SVG. Это будет наиболее тщательный, наиболее совместимый в обратном и прямом направлениях, наиболее последовательный и самый дорогой по времени вариант.
Это, вероятно, займет столько же времени, сколько 1 и 2 вместе, плюс немного больше для проработки изломов.
Будет выглядеть потрясающе практически на каждом устройстве.
В целом, я думаю , это зависит от того , что вы ищете более обратную совместимость или более прогрессивное улучшение, и сколько
денег времени вам придется потратить.Великолепная десятка библиотек SVG иконок — Разработка на vc.ru
{«id»:152567,»type»:»num»,»link»:»https:\/\/vc.ru\/dev\/152567-velikolepnaya-desyatka-bibliotek-svg-ikonok»,»gtm»:»»,»prevCount»:null,»count»:1,»isAuthorized»:false}
{«id»:152567,»type»:1,»typeStr»:»content»,»showTitle»:false,»initialState»:{«isActive»:false},»gtm»:»»}
{«id»:152567,»gtm»:null}
3671 просмотров
Перед началом статьи хотелось бы сказать, что переводчик не несёт ответственности за содержание статьи, а также еще больше полезной и нужной информации вы найдете в нашем Телеграм-канале по ссылке: https://t.me/metsolution
Перевёл: Лебедев Даниил
Как-то раз я провел опрос на Reddit и обратился к коллегам-разработчикам с простой просьбой: поделиться названиями любимых библиотек иконок. Идея нашла живой отклик у сообщества, и вскоре я открыл для себя много отличных библиотек с открытым исходным кодом, о которых раньше и понятия не имел. И вот я решил написать статью о 10 лучших из них на основе результатов проведенного опроса.
Предварительно были проверены условия лицензирования всех упомянутых в статье библиотек, так что можете быть уверены, что все они общедоступны. Стоит также отметить, что перечисленные ниже библиотеки должны иметь современный и актуальный дизайн. Итак, наша великолепная 10-ка:
Font Awesome
Более чем уверен, что большинство из вас хотя бы раз использовали иконки Font Awesome, одной из самых первых популярных библиотек с открытым кодом. В настоящее время ее галерея содержит в целом 1588 бесплатных и 7 842 платных иконок.
Font Awesome предлагает огромную коллекцию разнообразных иконок, что является одной из главных причин большой востребованности этой библиотеки. На нашем веб-сайте используются двухцветные иконки Font Awesome Pro, и мы уверены, что благодаря им он выгодно выделяется на фоне аналогичных сайтов.
Font Awesome предлагает еще одну интересную возможность — создание персональной ссылки на CDN при наличии аккаунта (на соответствующем сервисе). Это позволит вам задать условие для исключения обычных иконок и использования только двухцветных.
Конечно, вы также можете включить только пару иконок, напрямую скопировав код SVG. Я бы настоятельно посоветовал это делать при условии, что вы не используете больше 20–30 значков на сайте.
Существует много способов использования возможностей Font Awesome: копирование источника SVG одной иконки, загрузка библиотеки или использование общего или их персонального CDN. У них есть прекрасная страница, которая поможет начать работу с Font Awesome.
Ionicons
Ionicons.io — еще одна библиотека SVG с открытым кодом, содержащая 457 иконок в трех разных стилях: контурные, заливные и заостренные. Здесь мне особенно нравится простой и понятный дизайн контуров и форм. Почему бы не использовать их в своем будущем проекте?
Использование Ionicons сопровождается хорошей документацией. Если вам нужна вся библиотека вместо отдельной SVG иконки, можете включить следующий скрипт в футер (нижний блок сайта):
<script src=»https://unpkg.com/[email protected]/dist/ionicons.js»> </script>
После этого просто добавьте следующий элемент в HTML-шаблон и измените атрибут name в соответствии с иконкой, которую хотите показать, вот таким образом:
<ion-icon name=»heart»></ion-icon>
CSS.gg
Если вы активно участвуете в жизни сообщества разработчиков на Reddit, то, конечно, не оставили без внимания факт появления новой библиотеки иконок, использующей для стиля только CSS. На данный момент она насчитывает свыше 704 отдельных иконок, распределенных по таким категориям, как уведомления, указатели (стрелки), код, дизайн и многое другое.
В свое время возникало много споров по поводу того, что лучше использовать с точки зрения производительности: CSS или SVG. Но позднее создатель библиотеки @astritmalsija запустил форматы SVG, SVG Sprite, Figma и Adobe XD для второй версии, предложив таким образом более широкий выбор реализаций.
Начать работу с CSS.gg очень просто: надо лишь выполнить команду npm -i css.gg и затем включить следующую таблицу стилей в тег head:
<link href=’https://css.gg/css’ rel=’stylesheet’>
Также существуют альтернативы CDN, а именно UNPKG или JSDelivr:
<!— UNPKG —> <link href=’https://unpkg.com/css.gg/icons/all.css’ rel=’stylesheet’> <!— JSDelivr —> <link href=’https://cdn.jsdelivr.net/npm/css.gg/icons/all.css’ rel=’stylesheet’>
Более подробная информация о том, как начать использование CSS.gg, содержится в инструкциях официального репозитория на Github.
Feathericons
Представляю вам Feathericons, внешне привлекательную и понятно устроенную библиотеку с 282 SVG иконками. По умолчанию ее основным форматом является SVG, так как на данный момент он является самым быстрым способом работы со значками.
Вы можете настраивать размер, толщину штриха и цвет иконок перед их загрузкой, а также переключать темный и светлый режимы нажатием на значок луны в правом верхнем углу веб-сайта.
Для начала работы с Feathericons необходимо загрузить файл SVG и включить его в вашу разметку либо с помощью src, либо используя его в качестве встроенного объекта SVG.
Eva Icons ❤
Eva Icons — это набор из 480 искусно выполненных иконок с открытым кодом в форматах SVG и PNG. Для создания значков используются два основных стиля: контурный и заливной. Радует тот факт, что изначально можно выбирать анимационные эффекты при наведении курсора мыши на значки, например изменение масштаба, пульсацию или вибрацию.
Работа с Eva Icons начинается с загрузки файла SVG/PNG после выбора иконки или загрузки целого набора. Вы можете также добавить Eva Icons, установив пакет npm следующим образом:
Heroicon
Heroicons, очередная библиотека с открытым кодом, является итогом работы создателей Tailwind CSS. Она содержит 165 отдельных иконок, включая контурные и заливные, и предлагает темную и светлую версии каждого элемента. Внешний вид значков качественно и искусно проработан.
Использование иконок начинается с нажатия на одну из них и копирования встроенного кода SVG, который сразу можно использовать в проектах. Примечательно еще и то, что библиотека предлагается в Figma. Если вам нужно включить все иконки, необходимо загрузить все файлы SVG с общедоступного репозитория.
Bootstrap icons
Данная библиотека включает свыше 600 пользовательских иконок с поддержкой SVG. На мой взгляд, она выгодно отличается от всех других с точки зрения дизайна. Если вам нравится использовать Bootstrap как CSS-фреймворк, то советую обратить внимание на Bootstrap 5 Icons и включить его в свой следующий проект.
Для работы с Bootstrap 5 Icons необходимо скопировать код SVG, а затем применить его по своему усмотрению: либо используя как встроенный код, либо включая в качестве источника для образа, либо создавая классы псевдокода в CSS. Какой бы способ вы не выбрали, на сайте есть информация по реализации каждого из них.
Remix Icon
Remix Icon — это большая коллекция из 2149 красивых иконок с открытым кодом под лицензией Apache. Они распределены по таким категориям, как бизнес, общение, финансы, карта и многие другие. Эта библиотека определенно заслуживает вашего внимания.
Начинаем работу с Remix Icon либо с загрузки версий SVG или PNG, либо с копирования встроенного кода SVG в буфер обмена. В качестве альтернативы можно также загрузить весь пакет как один файл .svg или SVG-спрайт.
Octicons
Octicons — набор из более 100 иконок с открытым кодом, которые Github использует на своем главном сайте. Насколько мне известно, они уже работают над второй версией библиотеки, улучшают дизайн и добиваются разнообразия иконок.
Огромное преимущество Octicons состоит в том, что его можно использовать как уже готовый пакет в React, Ruby, Rails, Jekyll и JavaScript. Здесь вы найдете список всех пакетов, необходимых для работы с Octicons.
Ikonate
Завершает наш список не менее интересная библиотека Ikonate, содержащая около 100 качественных иконок в плоском дизайне. Она находится под весьма лояльной и разрешительной лицензией MIT.
Вы можете легко настраивать размер, толщину и закругления границ, а также цвет иконок перед их экспортом. В экспортируемом файле ZIP вы получите HTML-файл со всеми выбранными встроенными значками, папку с отдельными файлами SVG и спрайт-листом.
В заключении прошу вас поддержать эти библиотеки, присудив им звезду на Github и тем самым отметив ту неоценимую работу, которую они выполняют. Поделитесь этим списком с вашими друзьями или коллегами, если вы сами еще не выбрали конкретную библиотеку иконок для вашего следующего проекта.
SVG картинка на сайте, почему не вставляется, почему опасно » Вебстудия 11
Если вы хотите использовать svg картинку у себя на WordPress, то он вам не даст ее загрузить, скажет что этот тип файла запрещен с целью безопасности.
Как оказывается если svg открыть в текстовом редакторе в него можно прописать любой JavaScript код и он будет потом выполнятся у вас на сайте, и это опасно.
Есть плагины для WordPress которые отключают безопасность и позволяют загружать svg. Плагины: SVG Support, Safe SVG, и др.
Safe SVG — чуть лучше, он перед загрузкой проверяет или svg картинка продезинфицирована (безопасна).
Но в любом случае, разрешая svg картинки даете инструменты для взлома, для вирусов и тп, поэтому лучше обойтись без svg.
Но преимущества svg в том что картинка идеально выглядит на любом разрешении экрана, это важно для логотипа, для кнопок соц сетей, иконок, и тп. Еще одно преимущество, тень в svg выглядит идеально на всех экранах, если использовать png картинку, то на мобильных тень на png будет выглядеть зубчиками, а это не солидно и не красиво.
Есть еще два варианта как вставить svg на сайт (не только на WordPress но и на обычный HTML сайт).
Пример сайта:
- http://www.jekyllnow.com/
- https://github.com/barryclark/jekyll-now/blob/master/_sass/_svg-icons.scss
Там снизу сайта есть svg иконки соц сетей, но они не подключены как svg файл. Там код svg картинок прописан как стили в файл css стилей.
<a href="http://github.com/barryclark/jekyll-now"><i></i></a> <styl=e> .svg-icon.github { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPg0KICAgIDxwYXRoIGQ9Ik0wLjMzNjg3MTAzMiwzMCBDMC4zMzY4NzEwMzIsMTMuNDMxNDU2NyAxMy41NjcyMzEzLDAgMjkuODg3NzA5NywwIEM0Ni4yMDgxODgsMCA1OS40Mzg1NDgzLDEzLjQzMTQ1NjcgNTkuNDM4NTQ4MywzMCBDNTkuNDM4NTQ4Myw0Ni41Njg1NDMzIDQ2LjIwODE4OCw2MCAyOS44ODc3MDk3LDYwIEMxMy41NjcyMzEzLDYwIDAuMzM2ODcxMDMyLDQ2LjU2ODU0MzMgMC4zMzY4NzEwMzIsMzAgWiBNMC4zMzY4NzEwMzIsMzAiIGlkPSJHaXRodWIiIGZpbGw9IiMzMzMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNMTguMjE4NDI0NSwzMS45MzU1NTY2IEMxOS42MDY4NTA2LDM0LjQ1MDc5MDIgMjIuMjg0NTI5NSwzNi4wMTU2NzY0IDI2LjgwMDcyODcsMzYuNDQ4NTE3MyBDMjYuMTU2MTAyMywzNi45MzY1MzM1IDI1LjM4MTc4NzcsMzcuODYzMDk4NCAyNS4yNzQ5ODU3LDM4LjkzNDI2MDcgQzI0LjQ2NDQzNDgsMzkuNDU3NDc0OSAyMi44MzQ3NTA2LDM5LjYyOTY2IDIxLjU2NzQzMDMsMzkuMjMxMDY1OSBDMTkuNzkxODQ2OSwzOC42NzE3MDIzIDE5LjExMTkzNzcsMzUuMTY0MjY0MiAxNi40NTMzMzA2LDM1LjY2MzY5NTkgQzE1Ljg3NzM2MjYsMzUuNzcyMTQ0IDE1Ljk5MTc5MzMsMzYuMTUwNzYwOSAxNi40ODk1NjcsMzYuNDcyMjk5OCBDMTcuMzAwMTE3OSwzNi45OTU1MTQxIDE4LjA2Mjk4OTQsMzcuNjUwMDA3NSAxOC42NTEzNTQxLDM5LjA0MzY2IEMxOS4xMDMzNTU0LDQwLjExMzg3MSAyMC4wNTMxMzA0LDQyLjAyNTk4MTMgMjMuMDU2OTM2OSw0Mi4wMjU5ODEzIEMyNC4yNDg5MjM2LDQyLjAyNTk4MTMgMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjA4NDI2NzksNDEuODgzMjg2NSBDMjUuMDg0MjY3OSw0MS44ODMyODY1IDI1LjEwNzE1NCw0NC42MTQ0NjQ5IDI1LjEwNzE1NCw0NS42NzYxMTQyIEMyNS4xMDcxNTQsNDYuOTAwNDM1NSAyMy40NTA3NjkzLDQ3LjI0NTc1NjkgMjMuNDUwNzY5Myw0Ny44MzQ2MTA4IEMyMy40NTA3NjkzLDQ4LjA2NzY3OSAyMy45OTkwODMyLDQ4LjA4OTU1ODggMjQuNDM5NjQxNSw0OC4wODk1NTg4IEMyNS4zMTAyNjg1LDQ4LjA4OTU1ODggMjcuMTIyMDg4Myw0Ny4zNjQ2NjkzIDI3LjEyMjA4ODMsNDYuMDkxODMxNyBDMjcuMTIyMDg4Myw0NS4wODA2MDEyIDI3LjEzODI5OTMsNDEuNjgwNjU5OSAyNy4xMzgyOTkzLDQxLjA4NjA5ODIgQzI3LjEzODI5OTMsMzkuNzg1NjczIDI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy44MzcyODAzLDM5LjM3Mzc2MDcgQzI3LjgzNzI4MDMsMzkuMzczNzYwNyAyNy45MjQwNTcsNDYuMzE1Mzg2OSAyNy42NzA0MDIyLDQ3LjI0NTc1NjkgQzI3LjM3Mjg4MjMsNDguMzM5NzUwNCAyNi44MzYwMTE1LDQ4LjE4NDY4ODcgMjYuODM2MDExNSw0OC42NzI3MDQ5IEMyNi44MzYwMTE1LDQ5LjM5ODU0NTggMjkuMDE2ODcwNCw0OC44NTA1OTc4IDI5LjczOTY5MTEsNDcuMjU3MTcyNSBDMzAuMjk4NDk0NSw0Ni4wMTY2NzkxIDMwLjA1NDM3NTYsMzkuMjA3MjgzNCAzMC4wNTQzNzU2LDM5LjIwNzI4MzQgTDMwLjY1MDM2OSwzOS4xOTQ5MTY1IEMzMC42NTAzNjksMzkuMTk0OTE2NSAzMC42ODM3NDQ2LDQyLjMxMjMyMjIgMzAuNjYzNzE5Miw0My43MzczNjc1IEMzMC42NDI3NDAyLDQ1LjIxMjgzMTcgMzAuNTQyNjEzNCw0Ny4wNzkyNzk3IDMxLjQyMDg2OTIsNDcuOTU5MjMwOSBDMzEuOTk3NzkwNyw0OC41Mzc2MjA1IDMzLjg2ODczMyw0OS41NTI2NTYyIDMzLjg2ODczMyw0OC42MjUxNCBDMzMuODY4NzMzLDQ4LjA4NTc1MzYgMzIuODQzNjI0NSw0Ny42NDI0NDg1IDMyLjg0MzYyNDUsNDYuMTgzMTU2NCBMMzIuODQzNjI0NSwzOS40Njg4OTA1IEMzMy42NjE4MDQyLDM5LjQ2ODg5MDUgMzMuNTM4NzkxMSw0MS42NzY4NTQ3IDMzLjUzODc5MTEsNDEuNjc2ODU0NyBMMzMuNTk4ODY3Myw0NS43Nzg4NTQ0IEMzMy41OTg4NjczLDQ1Ljc3ODg1NDQgMzMuNDE4NjM4OSw0Ny4yNzMzNDQ2IDM1LjIxOTAxNTYsNDcuODk5Mjk5MSBDMzUuODU0MTA2MSw0OC4xMjA5NTE3IDM3LjIxMzkyNDUsNDguMTgwODgzNSAzNy4yNzc4MTUsNDcuODA4OTI1NyBDMzcuMzQxNzA1NSw0Ny40MzYwMTY3IDM1LjY0MDUwMjEsNDYuODgxNDA5NiAzNS42MjUyNDQ2LDQ1LjcyMzY3OTEgQzM1LjYxNTcwODgsNDUuMDE3ODE1NSAzNS42NTY3MTMxLDQ0LjYwNTkwMzIgMzUuNjU2NzEzMSw0MS41Mzc5NjUxIEMzNS42NTY3MTMxLDM4LjQ3MDAyNyAzNS4yNDM4MDg5LDM3LjMzNjA3OSAzMy44MDQ4NDI2LDM2LjQzMjM0NTMgQzM4LjI0NTcwODIsMzUuOTc2NjczMiA0MC45OTM5NTI3LDM0Ljg4MDY4MiA0Mi4zMzM3NDU4LDMxLjk0NTA2OTUgQzQyLjQzODM2MTksMzEuOTQ4NDk2NiA0Mi44NzkxNDkxLDMwLjU3Mzc3NDIgNDIuODIxOTgzNSwzMC41NzQyNDgyIEM0My4xMjIzNjQyLDI5LjQ2NTk4NTMgNDMuMjg0NDc0NCwyOC4xNTUwOTU3IDQzLjMxNjg5NjQsMjYuNjAyNTc2NCBDNDMuMzA5MjY3NywyMi4zOTMwNzk5IDQxLjI4OTU2NTQsMjAuOTA0Mjk3NSA0MC45MDE0NTQ2LDIwLjIwNTA5MyBDNDEuNDczNjA4MiwxNy4wMTgyNDI1IDQwLjgwNjA5NTYsMTUuNTY3NTEyMSA0MC40OTYxNzkxLDE1LjA2OTk4MjkgQzM5LjM1MTg3MTksMTQuNjYzNzc4NCAzNi41MTQ5NDM1LDE2LjExNDUwODggMzQuOTY1MzYwOCwxNy4xMzcxNTQ4IEMzMi40MzgzNDksMTYuMzk5ODk4NCAyNy4wOTgyNDg2LDE2LjQ3MTI0NTggMjUuMDk1NzEwOSwxNy4zMjc0MTQ2IEMyMS40MDA1NTIyLDE0LjY4NzU2MDggMTkuNDQ1Njk0LDE1LjA5MTg2MjggMTkuNDQ1Njk0LDE1LjA5MTg2MjggQzE5LjQ0NTY5NCwxNS4wOTE4NjI4IDE4LjE4MjE4ODEsMTcuMzUxMTk3IDE5LjExMTkzNzcsMjAuNjU2OTU5OCBDMTcuODk2MTExMywyMi4yMDI4MjAxIDE2Ljk5MDIwMTQsMjMuMjk2ODEzNiAxNi45OTAyMDE0LDI2LjE5NjM3MTggQzE2Ljk5MDIwMTQsMjcuODI5NzUxNiAxNy4xODI4MjY0LDI5LjI5MTg5NzYgMTcuNjE3NjYzMiwzMC41Njg1NDA0IEMxNy41NjQzNTc3LDMwLjU2ODQwOTMgMTguMjAwODQ5MywzMS45MzU5Nzc3IDE4LjIxODQyNDUsMzEuOTM1NTU2NiBaIE0xOC4yMTg0MjQ1LDMxLjkzNTU1NjYiIGlkPSJQYXRoIiBmaWxsPSIjRkZGRkZGIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTU5LjQzODU0ODMsMzAgQzU5LjQzODU0ODMsNDYuNTY4NTQzMyA0Ni4yMDgxODgsNjAgMjkuODg3NzA5Nyw2MCBDMjMuODM0ODMwOCw2MCAxOC4yMDY5OTU0LDU4LjE1MjUxMzQgMTMuNTIxNjE0OCw1NC45ODI3NzU0IEw0Ny4zODE4MzYxLDUuODE5NDExMDMgQzU0LjY5MzczNDEsMTEuMjgwNjUwMyA1OS40Mzg1NDgzLDIwLjA3Nzc5NzMgNTkuNDM4NTQ4MywzMCBaIE01OS40Mzg1NDgzLDMwIiBpZD0icmVmbGVjIiBmaWxsLW9wYWNpdHk9IjAuMDgiIGZpbGw9IiMwMDAwMDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4NCjwvc3ZnPg==) } </styl=e>
Ниже даю видеоурок на английском.
В уроке показаны два варианта. Первый, он вставляет svg код в сам HTML файл. А второй вариант более интересный, он вставляет base64 SVG код картинки в css файл. Можно сделать отдельный css файл и туда добавлять код со всех svg иконок, логотипа, и тп, это удобно и классно. В примере сайта http://www.jekyllnow.com/ как раз так и сделано, код всех svg картинок прописан в отдельном css файле, и потом вы нужную картинку легко выводите в HTML.
Сайт для конвертирования (Base64 encoder):
mobilefish.com/services/base64/base64.php
Еще один урок на английском про svg тут:
css-tricks.com/lodge/svg/09-svg-data-uris/
Лучшие сайты на основе изображений SVG
Лас- Изображения SVG заполняют сеть сетей так что через несколько лет мы сможем в целом улучшить работу в Интернете. И дело в том, что изображения этого типа, помимо возможности увеличения без потери качества четкости, обычно содержат почти килобайты данных.
SVG — это формат Векторное изображение на основе XML для 2D-графики. Этот тип графического формата может использоваться для всех видов эффектов, изображений, анимации и интерактивности, чтобы повысить удобство использования на веб-сайтах, в которые он интегрирован. Поскольку он мало весит, он позволяет вам поиграть с этими типами действий, поэтому мы собираемся показать лучшие веб-сайты с графикой SVG, чтобы служить в качестве вдохновения или в качестве наглядного примера того, как сделать следующее, которое мы собираемся сделать для клиента или на работу.
Агентство цифрового дизайна, которое зарекомендовало себя с очень ярким веб-сайтом, использующим изображения SVG и для особого прикосновения к визуальному. Тот, на который можно без сомнения вдохновиться. Указатель, превращенный в красную точку, которая адаптируется к каждому из элементов, составляющих сеть, поражает.
Веб-сайт с изысканным дизайном, на котором хэштеги появляются как «всплывающие окна» и это ни в коем случае не замедляет видение и опыт, предлагаемые этим сайтом. Некоторые хэштеги, которые «съедаются» самими изображениями, могут быть переданы на передний план.
Поскольку основной причиной является видео, это любопытно как объединить изображения PNG с текстом, который отображается при прокрутке вниз.
Сайт, вдохновляющий ваша отличная идея с анимацией которые перемещаются очень плавно по мере продвижения по их содержанию. Большой прогресс в веб-дизайне, с которым мы сталкиваемся сегодня, является значительным, и он составляет 10 × 17, с намерением показать 26 артистов, которые составляют свои любимые музыкальные альбомы 2017 года, тот, который это показывает.
Просто нажмите на значок с тремя горизонтальными полосами в правом верхнем углу, чтобы откройте для себя тонкую и плавную анимацию, отображающую меню заголовок этого веб-сайта. Окончательный пример того, как анимация должна подтверждаться на сайте.
Интернет-магазин без особой помпы в анимации, но это еще один пример работы с изображениями SVG.
Из Испании у нас есть Rocka, чтобы показать отличный цветовой переход это делается, когда мы исследуем содержимое этого веб-сайта с помощью колесика мыши. Прекрасный опыт работы со всеми видами анимации.
Веб-дизайн, в котором стремится к простоте своих элементов для удобства использования в целом, не упуская ни капли изобретательности в некоторых анимациях, которые показаны в этом замечательном веб-интерфейсе, который предлагает Paradiso. Мы еще раз подчеркиваем, что очень креативное меню заголовков завершено в анимации.
Креативная студия из Нью-Йорка, которая демонстрирует все намерения боковое меню заголовка, которое открывается перед нами с серией анимаций и очень привлекательных изображений. Если вы ищете уникальное меню для своего веб-сайта, Zero’s уже может вдохновить вас. Когда вы наводите указатель мыши на каждую из опций, появляются эти красочные изображения и анимация.
Любопытен экран загрузки и изящная форма показать последние твиты, публикации в Facebook или изображения в Instagram. Веб-сайт, достойный веб-экспериментов.
Проект с идеей совмещения времени в китайских мегаполисах, который демонстрирует большое мастерство в демонстрации того же благодаря его затуханиям и градиентам с умом в использовании цветовой гаммы. Большие изображения, которые появляются и исчезают, с высококачественной анимацией и обработкой. Это завидно.
Французская компания по производству фильмов и телесериалов, демонстрирующая большая мощность в видео благодаря мгновенному изменению удерживая указатель мыши в каждой из категорий. Откройте каждый из них, чтобы узнать, каково экспериментировать с веб-дизайном.
На этом веб-сайте используются два основных цвета, чтобы создать правильный контраст идентифицировать себя. Он также отличается анимацией фона, который постоянно находится в движении.
Zen Studio предоставляет нам этот веб-сайт из признанный художник во всем мире и это максимальный пример того, чем может быть сеть: интерактивный видеоклип, в котором наш указатель является тем, который управляет эксклюзивной анимацией. Существенный.
Консалтинговая фирма из Бразилии, которая использует анимации как занавески показать каждую из ваших услуг. Просто, но эффективно использовать зеленый и синий цвета для пустого фона.
Еще один визуальный опыт, основанный на желтый и черный, и что это имеет большой эффект, чтобы показать катастрофы.
Портфолио веб-интерфейса, показывающее серия веб-навыков это не оставляет никого равнодушным.
Цифровое агентство, которое демонстрирует большую ценность в веб-дизайне, помогая вам забавная анимация, которую можно увидеть когда вы наводите указатель мыши на его букву «К».
Еще один повседневный веб-сайт, подчеркивающий вид коллажа который открывается перед нами, когда мы прокручиваем вниз.
Известный словацкий бренд молока, использующий исследование с помощью прокрутки чтобы показать достойный и привлекательный веб-опыт. По крайней мере, любопытно.
Испанская Herokid Studio предлагает дизайн этого веб-сайта, который выделяется черным, желтым и серией видеороликов Они демонстрируют большую элегантность в чаевых.
Что это такое и как его создать
В процессе разработки удобного веб-сайта вы можете столкнуться с некоторыми трудностями при работе с изображениями, особенно с их разрешением. Важно правильно подобрать качество изображения — меньше всего на странице вещей выглядят менее профессионально, чем искаженный, плохо масштабированный логотип, значок или фотография.
Эта проблема усугубляется адаптивным дизайном. Посетители просматривают ваш контент как на настольных компьютерах, так и на смартфонах, поэтому, наряду с остальным контентом, ваши изображения должны быть оптимизированы независимо от устройства.Было бы неплохо, если бы существовал цифровой формат, в котором изображения выглядели бы великолепно, независимо от их размера?
Как оказалось, есть. Он называется форматом SVG и идеально подходит для нефотографических изображений на веб-сайтах.
SVG — это что-то вроде волшебного трюка в дизайне веб-сайтов — они не только создают четкую графику в любом масштабе, но также оптимизированы для поисковых систем, программируются, часто меньше других форматов и способны к динамической анимации. Есть много вещей, которые нужно распаковать и узнать о SVG.
В этом руководстве я расскажу обо всех основах, которые вам необходимо знать, чтобы начать работу с SVG. Я объясню, что это за файлы, когда их использовать и как начать создавать файлы SVG самостоятельно.
Что такое файл SVG?
Файл SVG, сокращение от масштабируемого векторного графического файла, представляет собой стандартный тип графического файла, используемый для рендеринга двумерных изображений в Интернете.
Файл SVG, сокращение от масштабируемого векторного графического файла, представляет собой стандартный тип графического файла, используемый для рендеринга двумерных изображений в Интернете.В отличие от других популярных форматов файлов изображений, формат SVG хранит изображения в виде векторов, представляющих собой тип графики, состоящей из точек, линий, кривых и фигур, основанных на математических формулах.
Возникает вопрос: что такое векторная графика?
Растр против вектора
В настоящее время в Интернете используется несколько форматов файлов изображений, которые можно разделить на две категории: растровая графика и векторная графика.
Вы, вероятно, знакомы с распространенными форматами PNG и JPEG.Это форматы растровой графики, что означает, что они хранят информацию об изображении в сетке цветных квадратов, также называемой растровым изображением. Квадраты в этом растровом изображении объединяются, образуя связное изображение, очень похожее на пиксели на экране компьютера.
Растровая графика хорошо подходит для высокодетализированных изображений, таких как фотографии, в которых необходимо указать точный цвет каждого пикселя. Растровые изображения имеют фиксированное разрешение, поэтому увеличение их размера снижает качество изображения.
Векторные графические форматы, такие как SVG и PDF, работают по-разному.Эти форматы хранят изображения в виде набора точек и линий между точками. Математические формулы определяют размещение и форму этих точек и линий, а также сохраняют их пространственные отношения при увеличении или уменьшении масштаба изображения. Файлы векторной графики также хранят информацию о цвете и даже могут отображать текст.
Как работают файлы SVG
ФайлыSVG написаны на XML, языке разметки, используемом для хранения и передачи цифровой информации. Код XML в файле SVG определяет все формы, цвета и текст, из которых состоит изображение.
Давайте рассмотрим несколько примеров. Я начну с рисования простого круга SVG:
.Когда я открываю файл для этого круга в текстовом редакторе, появляется следующий код XML:
Как видите, здесь не так много кода. Нам нужна только одна строка кода, чтобы нарисовать круг. Это потому, что XML делает за нас большую часть работы с тегами . В приведенном выше коде теги показаны розовым цветом в угловых скобках.
Чтобы нарисовать круг, код XML указывает форму с помощью тега
При предоставлении SVG-файла,подобного этому,веб-браузер (или другое приложение) принимает эту XML-информацию,обрабатывает ее и отображает на экране в виде векторного изображения. Все современные браузеры отображают SVG таким образом,как и специализированное программное обеспечение для редактирования графики.
Вы также заметите,что этот файл XML написан на английском языке. SVG — это в основном текстовые файлы,что делает их удобочитаемыми для людей. Это позволяет разработчикам напрямую вносить изменения в XML-файлы.Например,я мог бы заменить значение fill ,чтобы изменить цвет круга:
Конечно,с векторами мы можем добиться гораздо большего,чем с обычными окружностями. Давайте посмотрим на более сложное изображение,логотип звездочки HubSpot:
.Несмотря на то,что это простая иконка,это изображение состоит из 30 линий,соединенных 30 точками:
Давайте откроем этот файл SVG в текстовом редакторе:
Хорошо,здесь есть еще кое-что.Но концепция та же. У нас все еще есть наш тег ,который сообщает нам цвет. Вместо тега
Преимущества файлов SVG
XML-кодне просто хорош на вид — он делает SVG-файлы очень мощными и практичными для веб-сайтов и веб-приложений,как мы рассмотрим в этом разделе.
1. Бесконечная масштабируемость
Это прямо сказано в названии:SVG можно увеличивать или уменьшать до любого размера без потери качества. Размер изображения и тип отображения не имеют значения для SVG — они всегда выглядят одинаково.
Это важно,потому что размер веб-изображений различается в зависимости от зрителя,в зависимости от размеров окна браузера,устройства,масштаба,макета сайта и адаптивного дизайна. Ваши изображения должны отображаться полностью визуализированными для каждого зрителя,и SVG значительно упрощают эту задачу.
Снова рассмотрим звездочку HubSpot.Вот логотип в формате SVG шириной 100 пикселей:
.А вот тот же логотип в формате PNG,тоже шириной 100 пикселей:
Теперь они выглядят почти неразличимыми,но разница в качестве становится очевидной,когда я увеличиваю размер каждого в пять раз:
Если SVG необходимо увеличить или уменьшить,программа,читающая файл,корректирует точки и линии,чтобы сохранить четкие границы и сплошные цвета.
Растровые изображения,напротив,выглядят пикселизированными при увеличении на наших экранах.Хотя есть обходные пути для этой проблемы,чтобы сохранить растровую формулу — например,использовать разные файлы увеличивающегося размера для одного и того же изображения — они требуют больше работы и более подвержены эрозии. Растровые изображения в конечном счете не предназначены для масштабирования.
Однако есть компромисс в пользу лучшей масштабируемости:по замыслу SVG не хватает детализации растровых изображений. Вы можете передать столько визуальной информации из векторной системы,тогда как растровый формат может отображать изображения настолько подробно,насколько это позволяет растровое изображение.Любая попытка точно представить подробный PNG (например,фотографию) в виде вектора приведет к созданию массивного и непрактичного файла SVG.
Итак,оба типа файлов имеют свое место в веб-дизайне. Используйте PNG,JPEG и другие растровые форматы для фотографий и попробуйте SVG для чего-то менее подробного.
2. Персонализация
SVG дают дизайнерам и разработчикам большой контроль над их внешним видом. Вместо того,чтобы изменять файлы непосредственно в текстовом редакторе,вы можете использовать одну из многих программ редактирования,совместимых с SVG,для изменения векторных форм,цветов,текста и даже других визуальных эффектов,таких как цветовые градиенты и тени.
3. Совместимость сценариев
Формат файла SVG был разработан консорциумом World Wide Web Consortium в качестве стандартизированного формата веб-графики,предназначенного для работы с другими веб-соглашениями,такими как HTML,CSS,JavaScript и объектная модель документа.
Благодаря этой совместимости изображениями SVG можно управлять с помощью скриптов. Это открывает двери для огромного диапазона возможностей динамического отображения,от анимации до динамических диаграмм и изображений,адаптированных для мобильных устройств. Такой уровень контроля над внешним видом недоступен для форматов JPEG и PNG.
4. Доступность и поисковая оптимизация
ФайлыSVG являются текстовыми файлами,и это само по себе дает некоторые преимущества по сравнению с растровыми форматами. Во-первых,как мы уже говорили,программисты могут посмотреть на XML-код и быстро его понять.
Кроме того,если SVG-графика содержит текст,текстовая информация сохраняется в файле как обычный текст (а не как фигуры). Это позволяет программам чтения с экрана интерпретировать SVG,помогая тем,у кого есть трудности с взаимодействием с цифровым контентом.
Наконец,файлы SVG могут быть проиндексированы поисковыми системами,такими как Google. Если вы хотите разместить на своей странице многотекстовую инфографику или другой SVG-дисплей,включение текста ключевых слов в изображение может повысить рейтинг вашей страницы и улучшить SEO. В этом отношении файлы PNG и JPEG ограничены метаданными и замещающим текстом.
5. Файлы меньшего размера
ФайлыSVG,как правило,хранят изображения более эффективно,чем обычные растровые форматы,если изображение не слишком детализировано. Файлы SVG содержат достаточно информации для отображения векторов в любом масштабе,тогда как растровые изображения требуют файлов большего размера для увеличенных версий изображений — чем больше пикселей,тем больше места в файле.
Это хорошо для веб-сайтов,поскольку файлы меньшего размера быстрее загружаются в браузерах,поэтому SVG могут повысить общую производительность страницы.
Однако это не означает,что вы должны конвертировать все изображения в SVG. Давайте теперь посмотрим,как веб-сайты склонны применять SVG.
Для чего используются файлы SVG?
Как я уже говорил,файлы SVG лучше всего подходят для изображений,которые содержат меньше деталей,чем фотографии. Это все еще довольно широко,поэтому давайте обсудим некоторые из наиболее распространенных вариантов использования SVG в Интернете.
Иконки
Большинство иконок хорошо переводятся в вектор,учитывая их простоту и четкость границ. Иконки для элементов страницы,таких как кнопки,должны реагировать на различные размеры экранов,а это значит,что они должны идеально масштабироваться.
Логотипы
Формат SVG особенно хорошо подходит для логотипов,которые появляются в заголовках веб-сайтов,электронных письмах и печатаются на чем угодно — от брошюр до толстовок и рекламных щитов. Опять же,логотипы,как правило,имеют более простой дизайн,что хорошо сочетается с форматом SVG.
Иллюстрации
Векторы также хорошо подходят для визуального искусства,не относящегося к фотографии. Декоративные рисунки на веб-страницах можно легко масштабировать и экономить место в файле,если они добавляются в виде файлов SVG. Иллюстрации ниже,даже текстуры некоторых фигур,можно получить с помощью SVG.
Источник изображения
Анимации и элементы интерфейса
Используя возможности CSS и JavaScript,вы можете настроить SVG на динамическое изменение внешнего вида и запуск автоматически или после запуска какого-либо события.Анимированные SVG могут служить для придания визуального изящества вашим страницам,или их можно использовать для взаимодействия с анимацией пользовательского интерфейса:
Источник изображения
Инфографика и визуализация данных
Выиграют ли ваш веб-сайт информационные дисплеи,такие как инфографика или иллюстрированная диаграмма? Это еще одно полезное приложение для SVG. Ваши дизайны будут плавно масштабироваться,а текст в файле SVG индексируется.
Вы даже можете создавать диаграммы в виде SVG,которые динамически обновляются на основе ввода данных в реальном времени.Например,вы можете создать вектор «индикатор выполнения» для сбора средств,который заполняется по мере увеличения общей суммы пожертвования.
Вы также часто увидите SVG,реализованные на информационных сайтах для визуализации данных и карт:
Источник изображения
Как создать или отредактировать файл SVG
Если вы хотите просто открыть изображение SVG,не редактируя его,вы можете сделать это прямо в веб-браузере,поскольку браузеры предназначены для интерпретации и отображения SVG.Вы также можете предварительно просмотреть SVG в специализированной программе редактирования,о чем мы поговорим далее.
Чтобы изменить файл SVG,вы можете напрямую изменить файл SVG в текстовом редакторе,но это нецелесообразно для изменения большинства вещей,кроме цветов. Вместо этого используйте программное обеспечение для редактирования векторной графики. Бесплатные и платные варианты включают:
- Adobe Illustrator,программа Adobe для создания и редактирования векторной графики. Вы можете экспортировать проекты Adobe в формате SVG или в нескольких растровых форматах.
- Microsoft Visio,программа для создания блок-схем,диаграмм и инфографики.
- CorelDRAW,еще один специализированный редактор векторной графики.
- GIMP (GNU Image Manipulation Program),бесплатная,популярная программа для редактирования изображений с открытым исходным кодом.
- Google Docs — вы можете экспортировать рисунки,созданные в Google Docs,в SVG.
- Inkscape,бесплатный векторный инструмент для рисования и текста.
Чтобы начать создавать SVG с нуля,вам не нужно ничего знать о XML или программировании. Вы можете нарисовать свои векторы в одной из программ,перечисленных выше,и экспортировать их в формат SVG.
Каждая программа имеет свои ограничения и кривую обучения. Если вы планируете продолжить изучение SVG,попробуйте несколько вариантов и ознакомьтесь с доступными инструментами,прежде чем остановиться на бесплатном или платном варианте.
Вот пример того,как использовать программное обеспечение Adobe Illustrator для векторизации изображения PNG:
- Создайте дизайн в Illustrator для преобразования в масштабируемый файл векторной графики. Убедитесь,что изображение гладкое с четко обозначенными углами или кривыми,чтобы обеспечить плавный переход от не-SVG к SVG.
- Щелкните Image Trace над дизайном на монтажной области,чтобы Illustrator мог его выбрать. В раскрывающемся меню перейдите к Дополнительные параметры. Каждый дизайн уникален,поэтому обязательно подгоните его под себя. Общая практика рекомендует уменьшить количество «Путей»,чтобы еще больше сгладить границы дизайна. Когда закончите,выберите Outline View для четкости границ дизайна и количества присутствующих узлов.
- Нажмите «Развернуть»,чтобы взять выбранный вами дизайн и превратить его в вектор.Для создания простых рисунков,подобных этому,откройте инструмент Magic Wand ,снова нажмите на белую область монтажной области и удалите его. Это удалит фон и оставит прозрачный слой с вашим вектором видимым.
- При необходимости измените размер монтажной области. Чем меньше файл,тем лучше он будет читаться на веб-сайте и улучшит рейтинг страницы в Google.
- Тонкая настройка проекта путем удаления ненужных узлов с помощью инструмента Simply или Smooth .Отрегулируйте по мере необходимости,чтобы упростить пути без неблагоприятного эффекта.
- В инструменте Magic Wand щелкните инструмент Group Selection ,отделите завершенный дизайн от любых других,которые могут быть представлены на монтажной области.
- Выбрав дизайн,нажмите Файл >Экспорт >Экспорт в формате SVG (*.SVG)
- Щелкните Показать код в параметрах SVG,чтобы просмотреть XML,скопируйте его и используйте по своему усмотрению.
Дизайн для весов
Масштабируемая векторная графика пригодится во многих различных сценариях.Они универсальны,интерактивны,и их легко начать создавать с помощью графического редактора и некоторых дизайнерских ноу-хау. С SVG в вашем наборе инструментов для веб-дизайна вам больше не придется беспокоиться о размытой графике — по крайней мере,не для ваших основных изображений. Для фотографий придерживайтесь PNG и JPEG.
Примечание редактора. Этот пост был первоначально опубликован в октябре 2020 г. и обновлен для полноты информации.
Советы по созданию и экспорту улучшенных SVG для Интернета
Работа с SVG в рабочем процессе RWD обычно включает в себя этап проектирования и этап разработки.Этап проектирования обычно выполняется дизайнерами,которые могут знать или не знать,как программировать. И из-за природы SVG как формата изображения и формата документа,каждый шаг,предпринятый в графическом редакторе в процессе создания SVG,напрямую влияет на результирующий код и,следовательно,на работу разработчика,отвечающего за встраивание. создание сценариев или анимация SVG. В своей повседневной работе я обычно являюсь разработчиком,которому дизайнеры передают ресурсы дизайна,и изображения SVG являются частью этих ресурсов.
Большинство ресурсов,которые мне передавались в моих прошлых проектах,нуждались в повторной обработке и/или втором этапе редактирования в графическом редакторе,прежде чем я мог написать их,потому что полученный код SVG не был достаточно оптимизирован для такого рода работу,особенно анимацию,для которой меня наняли. Причина этого в том,что многие из дизайнеров,с которыми я работал,очень мало знали — если вообще знали — о коде SVG . Они постоянно создают векторную графику и ресурсы пользовательского интерфейса,но для них SVG — не более чем формат изображения,и они мало что знают о коде,сгенерированном при экспорте их ресурсов в виде документов SVG.
Есть несколько шагов,которые дизайнеры могут предпринять или избежать — набор правил и запретов,— которые могут помочь сделать сгенерированный код чище. В этой статье я хочу поделиться некоторыми из них. Если вы знаете что-то еще,поделитесь,пожалуйста,в комментариях в конце статьи.
Советы,которые мы рассмотрим,применимы в Adobe Illustrator (Ai) — моем любимом графическом редакторе — а также в других графических редакторах. Но поскольку я лично использую Ai,я сосредоточусь на нем в этой статье.
Мы также рассмотрим текущие параметры экспорта SVG,доступные в Ai,и какие из них выбрать и почему. Но обратите внимание,что эти параметры будут изменены в будущем ,и эта статья будет обновлена,чтобы отразить эти изменения.
Что эта статья основана на моем докладе «SVG для веб-дизайнеров (и разработчиков)» — докладе,который я сделал на CSSDevConf 2015 в прошлом месяце.
Итак,приступим.
Если вы используете Sketch для создания SVG,вы также можете кое-что сделать для экспорта более чистого кода.Шон Кестерсон поделился некоторыми советами в этой статье.
1. Создание простых фигур с использованием простых элементов формы,а не
s. Есть причина,по которой у нас есть разные базовые фигуры в SVG для создания,ну,основных фигур. Можно создать практически любую форму,используя элемент
,верно?
Элементы простой формы (
,
,
,
,
и
) существуют по многим причинам,и одна из них Эти причины заключаются в том,что они более удобочитаемы,удобны в обслуживании и редактируются вручную,чем их альтернативы
.
Базовые фигуры поставляются с набором атрибутов,которые позволяют управлять функциями фигуры,такими как положение (x
,y
,cx
,cy
) и размеры (ширина
и высота
),в то время как пути не имеют этих атрибутов.
Например,в следующем фрагменте показана разница между кругом,созданным и экспортированным как простая фигура,и кругом,созданным и экспортированным как путь :
<круг заполнить="#FFFFFF" ход="# 000" сх="28.1 дюйм су = "28.1" р="27,6"/> <путь заполнить="#FFFFFF" ход = "# 000" д="M55.7,28.1 с0,15,2-12,4,27,6-27,6,27,6 S0.5,43.3,.5,28.1 С12.9,.5,28.1,.5 S55.7,12.9,55.7,28.1z"/>
Если вы хотите анимировать свою фигуру, скажем, изменив положение круга или увеличив его, вы можете сделать это, анимировав положение центра с помощью координат x и y ( cx
и cy
) и радиус окружности ( r
).В то время как если вы работаете с кругом, созданным как путь, вам придется прибегнуть к преобразованиям CSS/SVG (переводу и масштабированию), чтобы сделать это. А затем предположим, что вы хотите анимировать этот путь, и анимация требует от вас применения к нему дальнейших преобразований? Это может легко превратиться в беспорядок трансформации.
Еще одним преимуществом использования простых фигур является то, что в большинстве случаев код, необходимый для создания фигуры с использованием простых элементов формы, меньше, чем код, необходимый для создания той же фигуры с использованием элемента
(см. сравнение), поэтому использование простых форм также приведет к уменьшению размера файла, что всегда лучше.
2. Преобразование текста в контуры. Или нет.
Чтобы преобразовать текст в контуры:
- Выберите текст, который хотите преобразовать.
- Выберите тип → Создать контуры
- Плюсы:
-
- Текст, преобразованный в контуры, сохранит используемый шрифт без необходимости использования веб-шрифта для его отображения. Это означает, что вы сэкономите несколько дополнительных HTTP-запросов и не рискуете отобразить свой текст с резервным шрифтом, который обычно выглядит недостаточно хорошо, чтобы заменить красивый шрифт по вашему выбору.
Выделение текста и сохранение используемого начертания шрифта хорошо для сохранения идентичности бренда, когда последняя определяется используемым начертанием шрифта, например: в логотипе. Я почти всегда превращаю текст логотипа в контуры. Структурирование также хорошо для сохранения шрифта определенных шрифтов при использовании для заголовков.
- Текст, преобразованный в контуры, сохранит используемый шрифт без необходимости использования веб-шрифта для его отображения. Это означает, что вы сэкономите несколько дополнительных HTTP-запросов и не рискуете отобразить свой текст с резервным шрифтом, который обычно выглядит недостаточно хорошо, чтобы заменить красивый шрифт по вашему выбору.
- Минусы:
-
- Текст, преобразованный в контуры, не является настоящим текстом: это набор контуров, формирующих контур (форму) текста.Следовательно, текст становится нереальным и недоступным, недоступным для поиска и выделения.
В случае заголовка сценария или даже логотипа, где текст обведен, использование текста
alt
(если логотип встроен в виде изображения) или элементов доступности SVG (&>
) хорошая идея для предоставления альтернативного текста для программ чтения с экрана.Я настоятельно рекомендую прочитать все о том, как сделать SVG доступными, в этих двух статьях Леони Уотсон:
- Преобразование текста в контуры может значительно увеличить размер файла SVG в зависимости от сложности используемого шрифта.На изображении ниже показана разница в размере (и удобочитаемости) SVG с текстом, преобразованным в контуры (слева), и текстом, экспортированным как SVG
- Пути не так легко контролируются и анимируются, как
элементов
(включая
- Текст, преобразованный в контуры, не является настоящим текстом: это набор контуров, формирующих контур (форму) текста.Следовательно, текст становится нереальным и недоступным, недоступным для поиска и выделения.
3. Упрощение путей.
Путь определяется набором точек, каждая из которых, в свою очередь, определяется парой координат.
Чем меньше количество точек, тем меньше данных пути (атрибут d
), и, следовательно, меньше общий размер файла SVG. Это всегда хороший шаг, потому что меньший размер файла лучше для производительности.
Чтобы упростить путь:
- Выберите путь
- Перейти к объекту → Путь → Упростить
- Изменить количество точек.Убедитесь, что у вас установлен флажок Preview , чтобы видеть, как изменяется путь при изменении количества точек. Настройте число, чтобы получить минимальное количество точек, сохраняя (или жертвуя) столько визуального вида пути, сколько вам нужно.
Существует видеоруководство, созданное Adobe для объяснения процесса; так что, если вам больше нравятся видео, вы можете посмотреть их здесь.
Вы также можете упростить пути, используя Инструмент деформации . Я не дизайнер и обычно использую алгоритм Simplify от Ai, чтобы упростить свои пути, поэтому, если вы опытный дизайнер, вы, вероятно, уже знаете об инструменте Warp гораздо больше, чем я.В Smashing Magazine есть статья об этом инструменте, на случай, если вы захотите ее проверить.
4. Избегайте объединения путей, если вам не нужен контроль над отдельными путями.
Многие дизайнеры, когда это возможно, склонны комбинировать или объединять пути. Чтобы объединить пути:
- Выберите пути, которые вы хотите объединить.
- Перейти к Окно → Навигатор
- Выберите параметр Объединить в списке параметров в нижней части панели (третий значок слева, показанный на снимке экрана ниже).
Объединение путей может иметь свои преимущества, но избегайте его, когда вам или разработчику необходимо управлять и/или анимировать пути по отдельности. Некоторые анимации спроектированы таким образом, что несколько элементов анимируются по отдельности, или иногда вы просто хотите стилизовать контуры, используя разные цвета заливки. Если вы объедините пути, это будет невозможно.
Вам нужно убедиться, что вы знаете, что разработчик (или вы сами, если вы также будете заниматься этапом разработки) нужно и что он хочет сделать с формами, над которыми вы работаете, и принять решение об объединении или отказе от него. сливаться соответственно.Это сэкономит вам обоим много времени и усилий.
5. Создание фильтров с использованием
SVG-фильтров , а не эффектов Photoshop . Если вы используете фильтры из раздела Эффекты Photoshop в разделе Эффект , Illustrator экспортирует созданные вами эффекты в виде растровых изображений. Например, если вы создаете тень с помощью эффекта Photoshop Blur , созданная тень будет представлять собой растровое изображение, встроенное в SVG либо встроенное, либо внешнее, с использованием
.Вы определенно не хотите этого, когда работаете с SVG.
Чтобы сгенерировать эффекты в виде кода SVG, вам необходимо использовать доступные фильтры SVG:
- Перейти к Эффект → Фильтры SVG
- Выберите и используйте один из фильтров, доступных на этой панели.
6. Подгонка монтажной области к рисунку.
Вы когда-нибудь встраивали SVG на страницу, задавали ему определенную высоту и ширину, а затем обнаруживали, что он отображается в меньшем размере, чем вы указали?
В большинстве случаев это вызвано количеством пустого пространства внутри окна просмотра SVG.Окно просмотра отображается с размером, который вы указываете в своей таблице стилей, но дополнительное пространство внутри него — вокруг графики — приводит к тому, что ваше изображение «сжимается», потому что это пустое пространство занимает некоторое количество, ну, пространства внутри. окно просмотра.
Чтобы избежать этого, вам нужно убедиться, что ваша монтажная область достаточно большая, чтобы поместиться рисунок внутри нее, но не больше.
Размеры монтажной области — это размеры экспортированного окна просмотра SVG, и любое пустое пространство на монтажной области будет создано как пустое пространство внутри окна просмотра.
Чтобы подогнать монтажную область к рисунку:
- Выберите все изображение. (Я использую cmd/ctrl + A .)
- Перейдите в Object → Artboards и выберите опцию Fit to Artwork Bounds .
7. Используйте надлежащие соглашения об именовании, группировании и распределении.
Я знаю, что это звучит просто, но это нужно подчеркнуть по нескольким причинам:
- Идентификаторы и имена классов, которые вы используете в графическом редакторе, будут преобразованы в идентификаторы и имена классов в сгенерированном коде. Чем больше смысла в этих именах и чем четче они обозначают соответствующие элементы, тем меньше трений будет при работе разработчика с кодом.
Я не говорю, что вы должны придумывать идеальные имена — я уверен, что у всех нас есть разные способы именования вещей, и именование может быть одной из самых сложных задач, но правильное маркирование групп имеет большое значение. Например, если вы рисуете автомобиль, то будет уместно использовать идентификатор
колесо
для имени слоя или группы, обертывающей фигуры, составляющие колесо.Если вы группируете все колеса в одну группу, вы можете присвоить ей IDколеса
. Простые имена, чтобы различать элементы и группы, имеют большое значение и экономят много времени, особенно если разработчик будет редактировать и манипулировать кодом вручную.Illustrator не очень хорошо справляется с присвоением имен объектам, поэтому указание имен помогает уменьшить количество создаваемого мусора. Конечно, потребуется некоторое дополнительное редактирование, чтобы избавиться от надоедливых символов подчеркивания, которые Ai настаивает на создании, но использование собственных имен помогает сделать этот процесс немного проще.
Как упоминалось ранее, следующая версия Illustrator продемонстрирует значительное улучшение способа создания SVG, включая генерируемые идентификаторы.
Используйте слои для группировки связанных элементов. Слои преобразованы в группы в коде, так что назовите и их. Создавайте слои/группы, чтобы объединить связанные элементы, особенно те, которые можно анимировать целиком. Разработчик может потратить много времени на изменение порядка и группировку элементов вручную, если это еще не сделано на этапе проектирования.Чтобы сэкономить время, убедитесь, что вы правильно сгруппированы. Общение с разработчиком на этапе проектирования и совместное проектирование того, как будет выполняться анимация, значительно экономит время.
Если изображения, которые вы создаете, будут использоваться для создания спрайта SVG, имена, которые вы используете, могут и будут использоваться большинством инструментов автоматизации для создания новых файлов. Поэтому использование clear and собственные имена приведут к более чистым именам файлов.
8. Выберите наиболее подходящие параметры экспорта для Интернета.
Начиная с версии Illustrator CC 2015.2, выпущенной в ноябре 2015 г., доступен новый рабочий процесс экспорта SVG («Файл» > «Экспорт» > SVG) для экспорта оптимизированных для Интернета файлов SVG для рабочих процессов веб-дизайна и дизайна экрана. Вы также можете экспортировать отдельные объекты вместо всей монтажной области. Подробнее см. в этой статье.
На момент написания этой статьи Illustrator поставляется с набором параметров экспорта, которые позволяют вам генерировать более качественный код SVG.
Чтобы экспортировать SVG:
- Выберите Файл → Сохранить как
- Выберите SVG из выпадающего меню.
- Нажмите Сохранить .
После того, как вы нажмете «Сохранить», появится диалоговое окно, содержащее набор параметров, которые вы можете настроить и которые повлияют на сгенерированный код SVG:
Параметры, показанные на изображении выше, рекомендуются для создания SVG для Интернета.
Конечно, вы можете выбрать Контур текста, если не хотите использовать веб-шрифт; Как видите, Illustrator также предоставляет вам возможность сделать это при экспорте.
Параметр Расположение изображения указывает, будут ли какие-либо растровые изображения встроены в ваш SVG или будут внешними со ссылкой внутри SVG.Это, опять же, зависит от того, что вам нужно. Встраивание изображений в SVG может значительно увеличить размер файла. В прошлый раз, когда дизайнер прислал мне SVG со встроенным изображением, размер файла был больше 1 МБ! После удаления этого изображения (которое было вызвано использованием эффектов Photoshop, о которых мы упоминали ранее), размер файла уменьшился до менее 100 КБ! Итак, выбирайте с умом.
Параметр Свойства CSS дает возможность выбрать способ создания стилей внутри SVG: с использованием атрибутов презентации, встроенных стилей или тега