10 прекрасных библиотек c SVG-иконками
Мы проверили все условия лицензирования, так что можете не сомневаться – библиотеки из этой подборки общедоступны. И, что немаловажно, каждая обладает привлекательным дизайном.
Даже не сомневаюсь, что многим из вас уже приходилось использовать иконки из Font Awesome, потому что среди первых открытых библиотек она стала одной из самых популярных. Сейчас в галерее Font Awesome содержится больше 1500 бесплатных и почти 7850 платных иконок.
Библиотека предлагает обширную и многообразную коллекцию иконок, что и сделало ее такой востребованной. Кроме того, у пользователей есть возможность создать персональную CDN-ссылку (необходимо наличие аккаунта на данном сервисе). Благодаря этому можно с помощью задания условий исключать обычные иконки и пользоваться только двухцветными. Естественно, можно включить несколько иконок, просто скопировав SVG-код напрямую. Рекомендуем делать так в тех случаях, когда вам для сайта нужно не больше 2-3 десятков значков.
Ссылки:
- Страница для начала работы.
- Demo.
- Github.
Эта библиотека SVG тоже открытая, содержит больше 450 иконок, разделенных на 3 разных стиля. Особенно привлекательным на наш взгляд является простой контурный дизайн.
Работа с Ionicons включает хорошую документацию. Когда вам требуется вся библиотека, а не отдельная иконка, включите в футер (нижний элемент страницы) такой скрипт:
Дальше вам останется просто вписать нужный элемент в код HTML, указав в атрибуте “name” иконку, которую нужно показать, например:
Ссылки:
- Официальный сайт;
- Demo;
- Github.
Активные пользователи Reddit наверняка знают о появлении новой библиотеки CSS.gg, в которой для стиля используется только CSS. Сейчас в ней больше 700 иконок, рассортированных по разным категориям: стрелки, кнопки, значки, код, музыка и др.
Первое время было много споров вокруг производительности: с данной точки зрения лучше использовать CSS или все-таки SVG? Однако позднее во II версию создатель библиотеки включил не только SVG, но и другие форматы: Adobe XD, SVG Sprite и Figma, предоставив пользователям еще больший выбор.
Приступить к работе с библиотекой иконок совсем не сложно. После выполнения команды «npm -i css.gg
» добавьте в тег head такую таблицу стилей:
Кроме того, есть альтернативы CDN: UNPKG и JSDelivr:
Ссылки:
- Demo.
- Github.
Эта библиотека содержит всего 282 SVG-иконки, зато внешне она очень привлекательна и будет понятна даже новичкам. Основным форматом по умолчанию стоит SVG, потому что сейчас это самый скоростной способ использования значков.
Есть возможность настраивать параметры иконок до загрузки (размер, цвет и пр.), и включать либо темный, либо светлый режим с помощью кнопки с изображением луны, расположенной с правой стороны вверху сайта.
Чтобы начать работать с Feathericons, нужно загрузить SVG-файл и добавить его в свою разметку.
- Demo.
- Github.
В набор Eva Icons входит 480 качественных SVG- и PNG-иконок с открытым доступом. Выполнены они преимущественно в одном из двух стилей: заливной или контурный. Нельзя не отметить отличную возможность добавить любой анимационный эффект значку, просто наведя на него курсор мыши: к примеру, пульсацию, изменение размера, вибрацию и др.
Чтобы приступить к работе с библиотекой, загрузите SVG или PNG файл после выбора значка или загрузки набора иконок целиком. Кроме того, можно установить пакет npm: npm i eva-icons
.
Ссылки:
- Demo.
- Github.
Open source библиотека от авторов Tailwind CSS. Состоит из 165 иконок разных стилей с возможностью выбрать темную или светлую версию любого элемента. Дизайн значков проработан очень искусно.
Для использования иконок в своих проектах нажимайте на них, чтобы скопировать встроенный SVG-код. Обратите внимание, что библиотека доступна в Figma. При необходимости включить весь набор иконок, нужно загрузить с репозитория SVG-файлы.
Ссылки:
- Демо.
- Github.
Эта библиотека предлагает вам больше шести сотен пользовательских иконок и, к тому же, по нашему мнению, выгодно выделяется среди аналогов благодаря отличному дизайну.
Чтобы начать работу, скопируйте SVG-код, а затем используйте его любым удобным способом (инструкцию можно посмотреть на сайте).
Ссылки:
- Demo.
- Github.
Довольно большая коллекция, включающая больше 2 тысяч красивых иконок. Они сгруппированы по категориям: дизайн, бизнес, документы, общение, девайсы и др. Эта открытая библиотека определенно заслуживает внимания.
Если решили использовать Remix Icon, можете или загрузить версии SVG/PNG, или копировать в клипборд встроенный SVG-код. А еще некоторые предпочитают скачивать пакет целиком в виде одного файла с расширением .svg либо спрайта.
Ссылки:
- Demo.
- Github.
Здесь есть больше сотни иконок, которые используются на основном сайте Github. Есть информация, что уже идет работа над следующей, второй версией Octicons, с улучшенным дизайном и большим разнообразием иконок.
Большим преимуществом библиотеки является то, что ею можно пользоваться как полноценным пакетом в таких языках, как React, JS, Ruby и Rails.
Ссылки:
- Перечень всех пакетов, которые нужны для начала работы с библиотекой.
- Demo.
- Github.
В завершение списка идет не менее интересная, чем предыдущие, библиотека Ikonate, в которой есть около сотни качественных иконок, выполненных в лаконичном плоском дизайне. Ее лицензия MIT достаточно лояльна.
Перед экспортом пользователь может без труда настраивать размер, параметры границ и цвет иконок. Результирующий ZIP-файл будет содержать HTML-документ со всеми значками, которые вы выберете, папку отдельных SVG-файлов, а также спрайт-лист.
Ссылки:
- Demo.
- Github.
Перевод статьи Zoltan Szogyenyi: 10 open source SVG icon libraries that you can use for your next project
Поиск способов чистого экспорта иконок в .svg из Sketch …корректный метод
Если вы разрабатываете дизайн интерфейсов, скорее всего, вам приходится каждый день работать в команде с программистами.
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> http://www.w3.org/2000/svg» xmlns:xlink=”http://www.w3.org/1999/xlink» xmlns:sketch=”http://www.bohemiancoding.com/sketch/ns»> <! — Generator: Sketch 3.3 (11970) — http://www.bohemiancoding.
com/sketch → add Created with Sketch.
Большая часть этого кода бесполезна и нам не нужна. По сути, нам нужны только и . Остальную часть мусора можно выкинуть, потому что все это можно контролировать посредством css глобально для всего набора, а не настраивать каждую иконку индивидуально. Тогда настоящей головной болью были , и . Что бы я ни делал, Sketch все равно экспортировал эти атрибуты. Это была настоящая проблема, потому что как только вы открываете .svg в html, иконка портится. Особенно, если манипулировать иконкой так, как это делаем мы. Sketch генерирует целую кучу беспорядочного кода. Чтобы решить проблему, нужно вернуться назад и пройти каждый шаг снова, чтобы отыскать решение. Так как же все-таки иконки экспортируются в Sketch? Все довольно просто, и я нашел три способа сделать это. Но, есть только один верный способ экспортировать чистый код .svg. Давайте проанализируем некоторые возможные решения:
- ) Можно создать артборд для каждой иконки, которую нужно экспортировать
- ) Использовать инструмент нарезки и нарезать все по нужным размерам
- ) Выделить несколько иконок на одном большом артборде, кликнуть и экспортировать в формат . svg
*примечание: Вы можете перейти в Layers > Path > Flatten и попробовать этот способ, но Sketch никогда не активировал опцию после выделения иконки.
1.) Создайте артбордСоздайте артборд с точным размером иконки для экспорта. Легко, правда? Это был мой первый способ, самый простой. Для этого примера я создал артборд 24 x 24 пикселя. Кликнул на экспорт, и вот что произошло:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> http://www.w3.org/2000/svg» xmlns:xlink=”http://www.w3.org/1999/xlink»>
Откуда ни возьмись, появились viewBox, transform, и translate. Проблема в том, что мне это все не нужно.
И появляется баг #1.Во-первых, позиция 400.5 и -416.2. Проблема: Sketch экспортировал параметр transformation (преобразование). Я заметил, что позиция моего артборда была 400.5 x и -416.2 y. И это стало проблемой. Все артборды должны быть pixel-perfect. А поскольку позиция моего артборда таковой не была, Sketch экспортировал следующее: [dt_code][/dt_code] Без понятия, откуда взялось 0.800000, но в любом случае, нам такое не нужно. Решение: Выбирайте позиции на четных числах. Это поможет избежать любых преобразований в коде. Кроме того, так как позиция была смещена полупикселями, Sketch изменил размер моей области просмотра на 0 0 25 25. Мой артборд изначально был 24 x 24 пикселя. Этот баг даже добавил параметров в код.
Баг #2Удалите границы для чистого кода Проблема: По дизайну каждая иконка была размером width: 24px , height: 24px, и border-radius: 3px. Проблема возникала при экспорте, добавлялся прямоугольник границ, и в css не получалось нормально масштабировать иконки. [dt_code][/dt_code] Решение: Удалите любую прозрачную граничную рамку, и пусть css творит свою магию. Всем разработчикам нужно, чтобы параметр viewbox был равен 24 x 24px. Они сами могут добавить ширину, высоту и border-radius.
Баг #3:Проблема: Sketch экспортирует поворот (-180.000000).
Чтобы легко воссоздать иконку со стрелочкой, я повернул каждую иконку на 90 градусов, чтобы получить все четыре варианта. Каждый раз, когда вы вращаете что-то в Sketch, добавляется соответствующий атрибут. Если вы уберете вращение в Sketch, иконка автоматически вернется в свое первоначальное положение. И так все возвращается на круги своя, и я опять нет нужного решения. Решение: Откройте свою иконку .svg в Illustrator, поверните ее, а затем перетащите мышкой обратно в Sketch. Это вообще решит все проблемы с поворотом. *примечание: Я бы с легкостью экспортировал эту иконку из Illustrator, но Adobe также генерирует кучку фигового кода при экспорте. Плюс, я уже вдоль и поперек перекопал Sketch в поиске решения.
2.) Использование инструмента SliceПроблема: еще больше мусора (translate и transform), потому что позиция каждой иконки привязана к артборду. И вот что Sketch экспортировал:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> http://www.w3.org/2000/svg» xmlns:xlink=”http://www.w3.org/1999/xlink»>
Решение: Его нет. Просто не делайте так. На слайсинг уходит слишком много времени, причем безрезультатно.
3.)Выделите любую иконку и экспортируйте ее в .svgПросто выделите все иконки и экспортируйте в .svg Проблема: Такие же проблемы с transform и translate в коде. Это очень мешает, если вы хотите полный контроль иконок в css. Решение: Опять же, сэкономьте себе время и просто не делайте так.
Верный способ после всех экспериментов- ) Создайте артборд для каждой иконки.
- ) Убедитесь, что позиция каждого артборда не содержит полупикселей, и описывается четными числами.
- ) Удалите все повороты иконок.
- ) Уберите все граничные рамки, чтобы Sketch не пришлось экспортировать ненужный код.
Чистый .svg экспорт выглядит так:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> http://www.w3.org/2000/svg» xmlns:xlink=”http://www.w3.org/1999/xlink»>
Откиньтесь на спинку кресла, расслабьтесь и выпейте пива, чтобы смыть все свои печали. Надеюсь, что Sketch разберется и выдаст решение для этой проблемы, потому что сам продукт я люблю всем сердцем.
От нашего пользователя Александра Шовтюка:
Хотел добавить, что можно пойти еще дальше и автоматизировать процесс очистки и оптимизации СВГешек в проекте, чему фронт-енд разработчики будут только рады. Для этого понадобится таск-раннер, к примеру Grunt и несколько толковых плагинов https://www.npmjs.com/package/grunt-svgstore (свг спрайт) https://github.com/sindresorhus/grunt-svgmin (минифкация) Хотя можно юзать и GUI https://github.com/svg/svgo[/dt_quote]
Перевод статьи Sean Kesterson
Как собрать пакет иконок из фигмы — 3
Я уже писал как собрать пакет иконок в виде шрифты из скетча. На этот раз из фигмы, в виде svg-спрайта и многоцвете. Сначала будет вступление-рассказ о чем все это, если вы хотите нового, прокрутите до заголовка «Новое в этой версии».
Что вообще происходит
У дизайнера есть несколько разных способов передать иконки разработчику:
- отдельными файлами или спрайтом в png,
- отдельными файлами или спрайтом в svg,
- иконочным шрифтом.
На формат распространения накладываются и другие ограничения:
- платформа: веб, десктоп, мобильные
- цветность: монохромные, двухцветные, полноцветные
- dpi экранов
и прочее
Если вам нужен скетч, смотри прошлую серию
Разработчики фронтенда просят все время какие-то шрифты, svg-файлы или спрайты. Иногда фронтенд говорит совсем непонятные слова: закоммить в гит, пойду соберу пакет в нпм, давай настроим в сиай. Расскажу как все это сделать, никого не замучив. Понадобится фигма.
Рассказ может быть полезен разработчикам фронтенда и дизайнерам интерфейсов. В меньшей степени он будет полезен бекендным разработчикам интерфейсов (классический ASP.NET MVC или что-то подобное): схема будет та же, но не будет готовых файлов конфигураций и скриптов. Если кто-то расскажет как прикрутить к этому NuGet, напишите, я добавлю.
Зачем это делать, есть же фонтелло
Есть много готовых сервисов, которые собирают шрифт по загруженным svg-файлам, например fontello. Мы не стали использовать ни один из них, потому что с ними могут быть сложности:
Дизайнер может случайно сломать шрифт. Если забыть и не экспортировать иконку, которую уже давал, то следующая версия шрифта будет без него и в неизвестном месте сломается интерфейс. Ситуацию усугубляет факт, что дизайнеров у каждого продукта несколько, а общий набор иконок пополняют 5-6 человек.
Хорошее решение — простое, в нем минимум ручных действий.
Нескольким дизайнерам работать непросто. Если несколько дизайнеров поддерживают один шрифт, то возникает много вопросов синхронизации: где хранить исходники, файлы svg и файлы шрифта, кто собирает и кому передает, как не забыть иконку.
Хорошее решение позволяет добавлять иконки скольким угодно дизайнерам так, что они не испортят чужую работу.
Cложно интегрировать в общий процесс сборки продукта. Отдельно стоящий сервис тяжело встроить в общий процесс разработки и сборки, а у кого-то есть еще и процесс CI. Придется вручную собирать сервисом файл, куда-то его загружать и как-то версионировать.
Хорошее решение встраивается в процесс разработки.
Не всех устраивает внешний сервис. Многие компании не верят во внешние сервисы: они могут изменить набор функций, упасть во время подготовки релиза, стать платными или закрыться. В конце концов, их могут хакнуть. Мы — ИБ-компания, и каждый раз раздражать профессионально деформированных безопасников и разработчиков наличием внешнего сервиса не хочется.
Хорошее решение работает внутри компании.
Формируется не всё, что надо. Некоторые сервисы выдают шрифт, а иконки кодируют номерами символов. К сожалению, на эти номера полагаться нельзя. Если убрать иконку или поменять порядок, то в следующий раз сервис может выдать совсем другие коды и все иконки непредсказуемо поменяются.
Если не формировать вместе со шрифтом less-файл, то разработчикам придется в каждом использовании иконки указывать размер кегля, они могут забыть или ошибиться.
Хорошее решение дает разработчикам все что нужно. Иконка кодируется понятным названием, коды символов и размер подставляются автоматически.
Новое в этой версии  
Раньше я описывал схему сборки шрифта, которая позволяет автоматически собрать шрифтовой файл с иконками из исходника Скетча, сгенерировать для него демо-страницу и less-файл, а также опубликовать пакет в npm-репозиторий.
Сегодня — вариант для фигмы. Еще в нем появились svg-файлы и svg-спрайт. Иконки svg-спрайта поддерживают двухцветность и перекрашивание средствами css.
Куда смотреть
Я сделал:
- github.com/mikeozornin/some-icons — тестовый репозиторий
- figma.com/file/UaWytmrubMDjIpJnlMn03x/Some-icons-pack — тестовый фигма-файл
Чтобы сборка завелась, нужно подготовить токен доступа к фигме, ищите в профиле вот такое:
После этого действуйте по инструкции в Readme. md
Сборщик обращается к фигме, через веб-апи экспортирует svg-файлы, запускает сборку шрифта и svg-спрайта.
Я не очень пойму, что ещё комментировать, мне кажется, там все понятно и очевидно, поэтому вставляю только результат:
КДПВ
Было:
Стало:
Разные особенности
Как работает двухцветность спрайтовых иконок
Для двухцветности иконок в svg-спрайте и возможности перекрашивания их через css используется своеобразных хак.
<svg fill="#000" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> <path d="M8.62155 1.21658C8.45088 1.08099 8.2349 1 8 1C7.44771 1 7 1.44772 7 2C7 2.55228 7.44771 3 8 3C4.1554 3 3.80482 5.42796 3.08886 10.3863C3.05992 10.5868 3.03039 10.7913 3 11C2.51458 11 2.02917 11.3534 1.54375 12.0603C1.4751 12.1603 1.43835 12.2787 1.43835 12.4C1.43835 12.7314 1.707 13 2.0384 13L6.58534 13C6.53007 13.1564 6.5 13.3247 6.5 13.5C6.5 14.3284 7.17157 15 8 15C8.82843 15 9.5 14.3284 9.5 13.5C9.5 13.3247 9.46992 13. 1564 9.41465 13L13.9616 13C14.0829 13 14.2013 12.9633 14.3013 12.8946C14.5745 12.707 14.6439 12.3335 14.4562 12.0603C13.9708 11.3534 13.4854 11 13 11C12.9668 10.775 12.9346 10.5547 12.9031 10.3391C12.7783 9.48499 12.6644 8.70518 12.5409 7.99982C12.5273 7.99994 12.5137 8 12.5 8C11.9617 8 11.4454 7.90547 10.9669 7.7321C11.0539 8.18151 11.1391 8.69127 11.2279 9.26906C11.2687 9.53513 11.3106 9.81613 11.3674 10.204C11.3589 10.146 11.4807 10.9794 11.5161 11.219L11.5575 11.5h5.44301L4.48435 11.2161C4.50903 11.0466 4.57528 10.5882 4.6098 10.3494L4.63087 10.2036C4.68629 9.8214 4.72807 9.5381 4.7686 9.27157C5.39203 5.17234 5.83807 4.5 8 4.5C8.03774 4.5 8.07495 4.50021 8.11166 4.50065C8.03858 4.17884 8 3.84392 8 3.5C8 3.33101 8.00932 3.1642 8.02746 3.00004C8.09885 2.35473 8.30674 1.75013 8.62155 1.21658Z"/> <circle cx="12.5" cy="3.5" r="2.5" fill="currentColor"/> </svg>
Это — код двухцветной иконки. Обратите внимание, что fill у svg стоит #000, а у части иконки, которую нужно красить отдельно, стоит fill=«currentColor».
Для перекрашивания применяется правило:
svg { fill: #8F99AA; /* Цвет основной части*/ color: #E80E0E; /* Цвет дополнительной части*/ }
В результате этого правила у svg появляются два свойства: fill и color. Fill перекрашивает всю иконку, а color ни на что не влияет. У вложенной фигуры срабатывает свой fill, но он берет цвет из специальной переменной currentColor, которая залинкована на атрибут color у svg. В итоге атрибут color у svg не влияет на базовую контур, а используется только чтобы прокинуть внутрь дополнительный цвет.
Такая особенность нужна только для спрайта. Если вставить иконку прямо в DOM, то можно будет использовать любые нормальные способы (например, css-классы).
Зачем нужны CODEPOINTS
Ручное прописывание codepoints для символов нужно, чтобы при переборке шрифта не поехали коды символов. Если вы не собираетесь использовать TTF-шрифт, забейте и не используйте. Если вам нужен TTF-шрифт со стабильными кодами символами, придется выдавать их вручную.
Как лучше версионировать
У нас (вообще это не обязательно) пакеты версионируются по семверу (semver.org). Версии нумеруются в формате Major.Minor.Patch (например, 3.2.1: 3 — major, 2 — minor, 1 — patch).
- Major-версия обновляется при ломающих изменениях
Ломающие изменения говорят о том, что нельзя просто обновить иконку, нужно скорее всего будет менять код в продукте. Ломающие изменения описаны в changelog. Самый частый случай: переименования иконок, при обновлении пакета нужно заменить в продукте старое имя на новое. - Minor-версия обновляется при новых фичах: появление новой иконки, нового формата css и прочее.
Обновляться на новую версию можно безопасно, ничего сломаться не должно. - Patch-версия инкрементируется при багфиксах, исправлениях иконок и прочих мелких изменениях.
Обновляться на новую версию можно безопасно, ничего сломаться не должно.
Если есть вопросы, пишите в комментарии или на почту mike. [email protected]
Файл:How to use icon.svg — Путеводитель Викигид Wikivoyage
Материал из Wikivoyage
Перейти к навигацииПерейти к поиску
- Файл
- История файла
- Использование файла
- Глобальное использование файла
- Метаданные
Размер этого PNG-превью для исходного SVG-файла: 40 × 37 пкс. Другие разрешения: 259 × 240 пкс | 519 × 480 пкс | 830 × 768 пкс | 1107 × 1024 пкс | 2214 × 2048 пкс.
Исходный файл (SVG-файл, номинально 40 × 37 пкс, размер файла: 482 байт)
Этот файл из на Викискладе и может использоваться в других проектах. Информация с его страницы описания приведена ниже.
Краткое описание
ОписаниеHow to use icon.svg | Trademark License gear icon |
Дата | |
Источник | Bad SVG How to use. svg |
Автор | Sarang |
Исходный код этого SVG-файла корректен.
Это векторное изображение было создано с помощью текстового редактора.
Previous version had been created with Adobe Illustrator (272 685 bytes) i now 0.17% of previous size
Please do not replace the simplified code by another version created with Inkscape or another vector graphics editor❗
Этот файл замещает файл How to use.svg. Рекомендуется использовать эту версию, а не замещённую. Bahasa Indonesia ∙ davvisámegiella ∙ Deutsch ∙ English ∙ español ∙ français ∙ italiano ∙ magyar ∙ polski ∙ svenska ∙ македонски ∙ മലയാളം ∙ português do Brasil ∙ русский ∙ 日本語 ∙ 中文(简体) ∙ 中文(繁體) ∙ +/− |
Difference
- This icon was drawn to replace the old icon shown on the far right side.
- While the new icon is perfect symmetric, the old icon isn’t.
- It’s 8 gaps are of different widths, the topmost ones disappear.
- It is W3C-invalid and consists of embedded raster graphics,
- bloating it to a huge file size that can hold the size of
- the new one more than 565 times.
Лицензирование
Это изображение простых геометрических фигур не удовлетворяет требованиям, необходимым для возникновения защиты авторским правом, то есть находится в общественном достоянии (англ. public domain), потому что содержит лишь общеизвестную информацию и не является результатом творческой деятельности. |
История файла
Нажмите на дату/время, чтобы увидеть версию файла от того времени.
Дата/время | Миниатюра | Размеры | Участник | Примечание | |
---|---|---|---|---|---|
текущий | 18:27, 6 января 2015 | 40 × 37 (482 байт) | Sarang | better centered | |
15:01, 5 января 2015 | 40 × 37 (472 байт) | Sarang | {{Information |Description=Gear icon |Source={{F|How to use.svg}} |Date=2015-01-05 |Author={{Ut|Sarang}} }} |
Нет страниц, использующих этот файл.
Глобальное использование файла
Данный файл используется в следующих вики:
- Использование в fr.wikisource.org
- Wikisource:Scriptorium/2013
- Wikisource:Scriptorium/Novembre 2013
- Использование в meta.wikimedia.org
- Trademark policy
- Trademark policy/en
- Trademark policy/es
- Trademark policy/ar
- Trademark policy/ru
- Trademark policy/fr
- Trademark policy/de
- Trademark policy/ja
- Trademark policy/zh
- Trademark policy/it
- Trademark policy/he
- Trademark policy/id
- Trademark policy/tr
- Trademark policy/oc
- Trademark policy/hu
- Trademark policy/nl
- Trademark policy/ko
- Trademark policy/uk
- Trademark policy/bn
- Trademark policy/ro
- Trademark policy/ug-arab
- Trademark policy/pt
- Trademark policy/af
- Trademark policy/pt-br
- Trademark policy/so
- Trademark policy/diq
- Trademark policy/ur
- Trademark policy/cs
- Trademark policy/gl
- Trademark policy/sr
- Trademark policy/hi
- Trademark policy/el
- Trademark policy/ml
- Trademark policy/br
- Trademark policy/ps
- Trademark policy/sv
- Trademark policy/pl
- Trademark policy/hr
- Trademark policy/en-gb
- Trademark policy/eu
- Trademark policy/mk
- Trademark policy/sq
- Trademark policy/da
- Trademark policy/ca
- Trademark policy/fi
- Trademark policy/pa
- Trademark policy/arz
- Trademark policy/eo
Просмотреть глобальное использование этого файла.
Метаданные
Файл содержит дополнительные данные, обычно добавляемые цифровыми камерами или сканерами. Если файл после создания редактировался, то некоторые параметры могут не соответствовать текущему изображению.
Ширина | 40 |
---|---|
Высота | 37 |
Free Brush Stroke Clipart in AI, SVG, EPS or PSD
Free Brush Stroke Clipart in AI, SVG, EPS or PSDДанный веб-сайт использует файлы cookie. Продолжение просмотра данного веб-сайта означает ваше согласие на использование файлов cookie и других технологий отслеживания. Подробности здесь Понял!
Кисти
Painted grunge stripes set.
Black labels, background, paint texture. Brush strokes vector. Handmade design elements.Мазки кисти гранж
Paint grunge backgrounds, brushstrokes
Кисть
Векторные кисти из нового света
Black brush strokes
abstract black and yellow grunge background design
Мазки кистью
Кисть с жидким картины
Различные цвета кисти 04
The painting ink is a brush paint.
Гранж кисти
Мазки кистью вектор
Handpainted Цветная кисть
Кисточка с цветом
Дамаск векторные кисти
Грязные кисти
Художник инструменты векторные иконки: Краски, кисти & живопись холст (бесплатно)
Modern black cover design set.
Creative art pattern with gold brush stroke, paint drop (spot) on black backgroundКисти
Красные кисти
Абстрактные кисти краска брызги
Кисть краска
Различные цвета кисти 02
Различные цвета кисти 03
Set of strokes
Баннер инсульта кистью
Мазки кистью и рукописное письмо Векторный клипарт пакет
Set of Hand Drawn Grunge Brush Smears
Grunge black paint marker strokes vector
Кисти
2018-11-24 Brushes 2-4
Зеленые кисти
CMYK кисти
Кисти
Различные цвета кисти 01
Эффекты кисти Splash
Бесплатные Rmpl линии художественная кисть
Гранж текстуры
Grunge black paint marker strokes vector
Мазки кистью вектор
Хирагана Yokozawa с указанием порядка инсульта
Иконка кисти краски
Векторная кисть
Гранж кисти
Векторные кисти
CMYK кисти
Круглые кисти
Мазки краски
Grunge design elements
Краска кисти векторная кисть
Связанные запросы
- мазок кистью краска
- текстура обводки кистью
- штриха кисти
- парикмахерская кисть
- чистить зубы
- наотмашь инсульта
- щетиной
- художник кисть
- штрих код
- инсульт
- ручка инсульта
- ишемического инсульта
- женский инсульта
- кисти touchcard
- черная обводка
- ванна кисть
- бутылка кисть
- румян кисть
- краски и кисти
- чистите зубы
- кисть инсульта
- тепловой удар
- кисть границы
- ход игры
- молодые кисть
- краска инсульта
- аэрография
- груди инсульта
- чернила кисть
- баттерфляй
- художественная кисть
- обратно кисти
- большая кисть
- кисть
- кисти пакет
Как работать со значками SVG
Существует множество способов использования значков SVG в HTML и CSS, и я не пробовал их все. Вот как мы это делаем в нашей небольшой команде фронтенда в Kaliop. Он хорошо подходит для наших нужд, которые включают в себя:
- Контентные и коммуникационные веб-сайты, часто основанные на больших CMS, а не на полноценных веб-приложениях JS.
- Значки, которые часто представляют собой простые одноцветные значки (каждый потенциально может использоваться в нескольких разных цветах в зависимости от контекста и взаимодействия с пользователем). Двухцветные значки и градиентная заливка тоже возможны, но требуют немного больше работы. Поддержка
- IE11.
Эта статья доступна на французском и китайском языках. Большое спасибо переводчикам!
Подготовка значков
Когда вы получаете значок SVG от дизайнера или из инструмента дизайна (Illustrator, Sketch, Figma и т. д.), возникает соблазн просто добавить его в свой проект. Тем не менее, я считаю, что небольшая переделка в вашем любимом инструменте, чтобы убедиться, что точно соответствует , может избавить вас от некоторых головных болей и улучшить результат.
Простая иконка на монтажной области в Illustrator (слева) и Sketch (справа)Работа с новым документом или монтажной областью
Создайте новый документ или новую монтажную область в своем любимом инструменте и скопируйте и вставьте значок в центр. Это отличный способ убедиться, что ваша иконка чиста и не имеет множества скрытых путей.
Квадрат проще
Ваш значок не обязательно должен быть квадратным , но с квадратными значками легче работать (если только ваш значок или графика не очень широкие или очень высокие).
Точные размеры имеют значение только в том случае, если вы хотите микроуправлять подгонкой пикселей (чтобы получить максимально четкие результаты на экранах с низким разрешением). Например, если все ваши значки могут поместиться на сетке 15 на 15 пикселей и в основном используются именно с такими размерами, продолжайте работать с монтажными областями или документами 15 × 15. Когда я не уверен, мне нравится размещать элементы на артборде 20×20.
Воздухопроницаемость по бокам
Оставьте немного места по краям, особенно для круглых форм. Браузеры используют сглаживание при рендеринге SVG-фигур, но иногда лишние пиксели от сглаживания визуализируются за пределами viewBox
и обрезаются.
Как правило, в значке размером 16 или 20 пикселей оставляйте 0,5 или 1 пиксель пустого пространства с каждой стороны. Кроме того, не забудьте экспортировать всю монтажную область, а не выбранные пути в центре, иначе вы потеряете это пустое пространство при экспорте.
Экспорт в SVG
- В Illustrator я просто использую «Сохранить как» и выбираю формат «SVG». (Может быть лучше использовать «Экспортировать как…» и выбрать SVG для оптимизированного результата.)
- В Sketch вы можете выбрать монтажную область, нажать «Сделать экспортируемым» в правом нижнем углу и выбрать «SVG» в качестве формата.
- В Inkscape вы можете «Сохранить как» и выбрать «Оптимизированный SVG».
Изучите SVG
Вам определенно следует изучить некоторые основы SVG, а также уметь читать и понимать структуру простых файлов SVG. В идеале вы должны знать о них:
- Группировка элементов:
- Визуальные элементы:
- Атрибуты стиля:
fill
,stroke
,stroke-width
.
Я обычно ищу их в DevDocs (который просто предлагает более удобный вид документов MDN SVG), когда хочу узнать больше. Вам не обязательно делать это прямо сейчас, и вы можете начать свое приключение с SVG, копируя и вставляя код, но со временем будет полезно узнать достаточно, чтобы понять код, который вы копируете.
Когда вы экспортируете SVG из инструмента дизайна, он часто будет иметь немного или много ненужной разметки, метаданных и тому подобного. Он также может иметь чрезмерно точные данные о пути (в атрибуте d
). Попробуйте использовать такой инструмент, как SVGOMG, и сравните код до и после, чтобы увидеть, что было удалено или упрощено.
Удалить данные о цвете
Для одноцветных значков убедитесь, что:
- В исходном файле пути черные (
# 000000
). - В экспортированном коде нет
заполнения
атрибутов.
Если у нас есть жестко запрограммированные заливки в исходном коде SVG, мы не сможем изменить эти цвета в нашем коде CSS. Так что вообще лучше их удалить, по крайней мере для одноцветных иконок.
Illustrator не выводит атрибуты fill
для полностью черного контура ( # 000000
). Sketch делает это, поэтому вам, возможно, придется открыть экспортированный код SVG и вручную удалить атрибуты fill="#000000"
.
Создание спрайта SVG
В этой части много кода, но на самом деле она совсем не сложная. Мы хотим создать документ SVG, содержащий
элементов. Каждый
должен иметь атрибут id
, атрибут viewBox
и будет содержать элементы
значка (или другие графические элементы).
Я называю этот SVG-документ спрайтом (имея в виду спрайты в компьютерных играх и CSS), но его также можно назвать листом спрайтов или хранилищем символов.
Вот спрайт с одним значком:
Добавление значка к нашему спрайту
Допустим, Illustrator дал нам этот код для значка, показанного выше:
w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y= "0px" viewBox="0 0 15 15" xml:space="сохранить">
Мы можем немного упростить его (вручную или с помощью SVGOMG), сохранив только Атрибут viewBox
и основные данные:
Теперь мы можем скопировать и вставить его в наш спрайт. Нам нужно преобразовать элемент
в элемент
и вставить его вручную в наш спрайт:
Вы можете сделать это вручную для всех ваших значков, но есть инструменты, которые автоматизируют этот процесс. Мы используем gulp-svg-symbols (вот наша конфигурация gulp, если вам интересно), но есть несколько графических инструментов и инструментов командной строки, которые экспортируют спрайты символов SVG, включая Icomoon.
Совет для профессионалов: сохраните папку с исходными значками
Если вы создаете свой спрайт вручную, я рекомендую сохранить папку с отдельными значками SVG:
assets/ иконки/ крест.svg играть.svg поиск.svg ... общественный/ спрайт/ icons.svg
Тогда, если вам нужно перестроить icons. svg
или изменить отдельный значок, у вас есть правильные источники для работы. Будьте осторожны, чтобы ваш спрайт и исходная папка не рассинхронизировались.
Конечно, если вы используете процесс сборки (с помощью Gulp, Webpack или чего-то еще), вы можете передать ему свою исходную папку и позволить ему построить спрайт напрямую.
Важно: не все является иконкой
То, что что-то является SVG, не означает, что оно должно быть внутри вашего SVG-спрайта. Например:
Иллюстрации, которые вам не нужно стилизовать: сохраните как один файл SVG и включите его на свою страницу с
Иллюстрации, которые вы хотите анимировать: рассмотрите возможность встраивания полного кода SVG в вашу HTML-страницу, чтобы вы могли выбирать и стилизовать определенные группы, контуры или фигуры, анимировать некоторые части и т. д.
Как правило, если это большая иллюстрация, которую нужно отобразить с разрешением 100 на 100 пикселей или намного больше, или если она содержит десятки элементов, это может быть не «значок». Вероятно, это также увеличило бы размер вашего спрайта.
Добавление значков на ваши страницы
Плохая новость заключается в том, что для того, чтобы использовать наши значки SVG, мы должны изменить наш код HTML. Никаких фонов CSS, никаких псевдоэлементов ::before
. Наименее подробный HTML-код, который мы можем использовать:
Что может выглядеть так:
Значок SVG без стиляТеперь мы собираемся сделать этот HTML-код немного более подробным, чтобы его было легче стилизовать, а также сделать его более доступным. Сначала я покажу несколько общих шаблонов, а затем мы объясним каждый технический выбор.
Шаблон A: чисто декоративный значок
Шаблон B: ссылка или кнопка со значком и текстом
Последние новости
Шаблон C: ссылка или кнопка со значком
Это то же самое, что и (B), но мы хотим показать только значок. Мы по-прежнему должны сохранять текст, чтобы пользователи программ чтения с экрана могли его прочитать.
Последние новости а>
Шаблон D: значок и замещающий текст вне ссылки или кнопки
Например, если у нас есть столбец таблицы со значками, представляющими «Да» и «Нет»:
Да
Что делают наши различные части HTML?
Использование осмысленных и локализованных меток
В некоторых статьях рекомендуется связать текстовую метку с каждым файлом SVG в вашем репозитории значков (например, поместив элемент
в каждый
). Это ошибка, потому что визуальный символ может иметь разное значение в зависимости от контекста.
Значок «увеличительное стекло» может означать «Показать форму поиска» в одном контексте и «Отправить мой поисковый запрос» во втором контексте. Ваши текстовые метки должны быть такими: «Показать форму поиска» и «Отправить поисковый запрос», а не «Поиск» (слишком общий) или, что еще хуже, «Увеличительное стекло» (описывает визуальные эффекты, а не смысл).
На многоязычных сайтах ваши текстовые метки также должны быть локализованы, включая все текстовые метки, которые по умолчанию скрыты для зрячих пользователей.
Внешние и встроенные спрайты
До сих пор мы показывали примеры для внешнего спрайта . Но некоторые старые браузеры — а именно, IE 9 — IE 11 — поддерживают только встроенных ссылок для
.
Это можно заполнить с помощью JavaScript (svg4everybody, svgxuse). Или вы можете включить свой спрайт в HTML-код каждой страницы .
<тело>
<кнопка>
Начать воспроизведение
кнопка>
тело>
У каждого метода есть свои плюсы и минусы.
Встроенный спрайт | Внешний спрайт | |
---|---|---|
Поддержка браузера | Встроенная поддержка в IE9+. Старым версиям Safari/WebKit требуется спрайт в начале страницы (перед любой ссылкой). | Встроенная поддержка в Edge 13+, Safari 9+. IE и более ранние версии Safari/WebKit нуждаются в полифилле JS, таком как svg4everybody или svgxuse. Загрузка внешнего спрайта из другого домена пока не работает (даже с CORS, см., например, ошибку Chromium). Это можно заполнить с помощью JS, используя svgxuse. |
Кэширование | Нет кэширования. Вес вашего спрайта (5 КБ, 15 КБ, 50 КБ…) добавляется к каждой странице. | Спрайт представляет собой отдельный файл и может кэшироваться браузером. Также он не раздувает HTTP-кеш на стороне сервера. |
Скорость рендеринга | Иконки отображаются мгновенно. В медленных сетях рендеринг структуры и содержимого страницы может задерживаться, если перед содержимым вставлен тяжелый спрайт SVG. | Значки могут отображаться с небольшим опозданием, потому что а) для них требуется отдельный HTTP-запрос и б) браузер не определил приоритет загрузки этого SVG-файла (с помощью своего упреждающего предварительного синтаксического анализатора). |
Обновление | Когда вам нужно обновить свой спрайт, вы должны убедиться, что он добавлен на каждую страницу. Это регенерирует все HTML-страницы, если вы используете статический генератор, или делает недействительными все кеши. | Изменен только один общедоступный файл, поэтому управлять обновлениями и кэшированием на стороне сервера немного проще. |
С CDN | Не влияет. | Предупреждение: браузеры не будут загружать SVG, на который ссылается |
Мне нравится смешивать оба метода, создавая два спрайта:
- Маленький спрайт с основными значками (например, основные значки, используемые в заголовке страницы), которые будут встроены в каждую страницу. Целевой размер: 5 КБ или меньше.
- Большой файл со всеми иконками проекта, сохраненный как внешний файл. Целевой размер: 50 КБ или меньше.
В более крупных проектах мы можем добавить больше внешних спрайтов, когда некоторые значки могут быть сгруппированы вместе и использоваться только в одной части сайта или для определенной функции.
Стилизация значков с помощью CSS
Теперь, когда у нас есть значки SVG и спрайт SVG, и когда мы узнали, как добавлять значки в наш HTML, давайте посмотрим на сторону CSS.
Начиная с базовых стилей
Вот стили для двух наших служебных классов, icon
и access-label
.
/** * Визуально скрытая доступная этикетка * Использование стилей, которые не скрывают текст в программах чтения с экрана * Мы используем !important, потому что мы не должны применять другие стили к этому скрытому альтернативному тексту. */ .access-метка { позиция: абсолютная !важно; ширина: 1px !важно; высота: 1px !важно; переполнение: скрыто !важно; пробел: nowrap !важно; } /** * Стиль значка по умолчанию */ .значок { /* Использовать текущий цвет текста в качестве цвета заливки значка. */ заливка: текущий цвет; /* Также наследуем размер текста. Также позволяет изменить размер значка, изменив его размер шрифта. */ ширина: 1см; высота: 1см; /* Вертикальное выравнивание по умолчанию — `baseline`, что оставляет несколько пикселей пространства под значком. Использование `center` предотвращает это. Для значков, отображаемых рядом с текстом, вы можете использовать более точное значение, например. `vertical-align: -4px` или `vertical-align: -0.15em`. */ вертикальное выравнивание: посередине; /* Пути и штрихи, выходящие за пределы окна просмотра, могут отображаться в IE11. */ переполнение: скрыто; }
С этим кодом по умолчанию ваши значки SVG должны быть маленькими и использовать цвет текста родителя. Вот так:
Первый ряд значков с размером текста и цветом по умолчанию
Второй ряд значков с увеличенным размером текста и зеленым цветом текста
Иконки с нашим стилем по умолчанию. Единственное различие между верхней и нижней строкой — это размер шрифта и цвет контейнера. Если формы значка не наследуют цвет текста родителя ( currentColor
), убедитесь, что у вас нет жестко закодированного заполните
атрибутов в коде вашей иконки.
Почему бы не стилизовать селектор
svg
напрямую? На странице могут быть другие элементы SVG, не являющиеся значками. Например, большая карта SVG или интерактивная игра SVG. Другая причина заключалась в том, что в старых версиях Firefox (до Firefox 56) была ошибка с селектором svg
(он применялся внутри элемента
), и таргетинг на класс позволял избежать этой проблемы.
Не стесняйтесь использовать 9Селектор 0035 svg вместо .icon
, если вы считаете, что это сработает для вашего варианта использования.
Переопределение базовых стилей
Должно быть легко переопределить наши базовые стили в определенном контексте:
.ShareComponent .icon { /* Изменяем ширину и высоту */ размер шрифта: 40px; /* Изменяем цвет заливки */ цвет: фиолетовый; /* Измените выравнивание по вертикали, если вам нужна большая точность (иногда требуется для идеального пиксельного рендеринга) */ вертикальное выравнивание: -4px; }
Унаследованные стили SVG
Многие свойства стиля SVG наследуются. Например, когда мы устанавливаем свойство CSS fill
для содержащего
элемента, оно переходит к нашим
,
и другим графическим элементам.
Мы можем использовать эту технику и для других свойств CSS SVG. Например, свойства обводки:
.icon-goldstar { заливка: золото; штрих: коралловый; ширина хода: 5%; линия обводки: круглая; }Значок звезды со стилем по умолчанию и пользовательским стилем
В большинстве случаев мы не собираемся менять много вещей: только свойство fill
для основного цвета, а иногда мы добавим или подправим обводку
(что-то вроде границы).
Два цвета заливки для значка
Существует довольно простой метод, который позволяет значку иметь два набора контуров с двумя разными значениями заполнения
(то есть двумя цветами).
<путь д="…" /> символ>
.icon-биколор { заливка: rebeccapurple; цвет: средне-бирюзовый; }Два цветных значка
Совет: оставьте место для штрихов
Помните, мы говорили, что нужно оставлять место вокруг фигур? Это особенно важно, если вы планируете использовать штрихи.
.icon-strokespace { заполнение: нет; обводка: текущий цвет; ширина хода: 5%; }
В SVG штрихи всегда рисуются с обеих сторон контура (внутри и снаружи). Если ваш путь касается границ области просмотра, половина штриха будет обрезана.
В этом примере первая иконка не имеет зарезервированного пустого пространства по бокам, а вторая иконка имеет маленькое (0,5px, для области просмотра 15px).Совет: используйте проценты для
stroke-width
Определение правильного размера штриха может быть сложной задачей. Посмотрите на эти два примера, где мы установили stroke-width:1px
для элемента
:
Что происходит? Свойство stroke-width
принимает значение «длина», но это значение относится к .0017 локальные координаты вашей иконки. В приведенных выше примерах:
- Первая иконка имеет размер 20 на 20 пикселей
viewBox
. Таким образом, обводка в 1 пиксель составляет 1/20 размера значка, большая, но не слишком большая. - Вторая иконка имеет размер 500 на 500 пикселей
viewBox
. Таким образом, обводка в 1 пиксель составляет 1/500 размера иконки, и это действительно очень мало.
Если все ваши иконки используют похожий viewBox
, это не проблема. Но если они могут сильно отличаться, используя пиксельные или безразмерные значения ( stroke-width:1
) отсутствует. Что нам делать?
Проценты могут быть хорошими. Тот же пример с stroke-width:5%
:
Вот это уже лучше. (Для квадратных значков stroke-width:N%
будет работать идеально, но обратите внимание, что он может вести себя немного иначе для больших или высоких элементов SVG.)
Расширенные темы и приемы
В предыдущих разделах у вас должно быть все. вам нужно знать, чтобы использовать значки SVG. В следующем разделе добавлена более подробная информация, возможно, с меньшим количеством реальных приложений.
Избегайте очень больших нестилизованных значков
Что произойдет, если ваша основная таблица стилей не загрузится из-за нестабильного соединения, например, в поезде (со мной это происходит постоянно)? Страница может по-прежнему отображаться без стилей.
Если у вас приличная структура HTML, страница все равно будет читабельной, но ваши значки будут очень большими.
В последних браузерах размер элемента
по умолчанию составляет 300 на 150 пикселей. Другие браузеры могут дать ему гигантскую 100% ширину! Я рекомендую поместить это в
ваших страниц:
Коротко и понятно.
Другой подход заключается в том, чтобы всегда использовать атрибуты ширины и высоты для элементов SVG. Это работает, но если вам нужно изменить размер этого значка в CSS, это может быть немного сложнее.
Предварительная загрузка внешних спрайтов
В разделе «Добавление значков на ваши страницы» мы говорили, что значки из внешнего спрайта могут отображаться с некоторым опозданием, отчасти из-за сканера предварительной загрузки браузера (или упреждающего просмотра). предварительный анализатор или что-то еще), не подбирая это
означает, что есть важный файл для ранней загрузки.
Что мы можем с этим сделать?
Стандартное и будущее решение: добавьте
Старое школьное решение: добавьте
На самом деле я не тестировал эти решения, обычно компромисс «встроенный + внешний» дает достаточно хорошую производительность, поэтому нам не нужно полагаться на предварительную загрузку. Но это стоит исследовать.
Выбор отдельных фигур или контуров
Мы рассмотрели способы настройки заливки, обводки и т. д. для всех контуров из
и двух или более цветов из разных контуров. Но что, если бы мы могли выбирать определенные пути (возможно, используя классы) непосредственно в экземпляр из
? Является ли это возможным?
Прямо сейчас ответ: да и нет.
- Если вы используете внешние спрайты, вы не можете выбрать отдельные пути (или другие элементы) внутри используемого
- Если вы встраиваете свой спрайт, вы можете выбирать и стилизовать элементы внутри спрайта, но эти стили будут применяться ко всем экземплярам символов.
Таким образом, даже со встроенным спрайтом вы можете сделать следующее:
#мой-символ .style1 { /* Стили для одной группы путей */ } #мой-символ .style2 { /* Стили для другого */ }
Но так нельзя:
.MyComponent-button .icon .style1 { /* Для 1 группы путей для этой иконки в данном контексте */ } .MyComponent-кнопка .icon .style2 { /* Для другой группы */ }
В будущем может появиться стандартный способ, позволяющий выбирать через Shadow DOM, но это совсем не точно (раньше был комбинатор /deep/
, но его убрали).
Более двух цветов с помощью пользовательских свойств CSS
Таким образом, мы можем легко изменить цвета наших значков SVG из CSS, для одноцветных значков (просто) и двухцветных значков (требует некоторой подготовки). Есть ли способ, которым мы могли бы иметь многоцветные значки с более чем двумя настраиваемыми цветами ?
Возможно, мы сможем сделать это с помощью пользовательских свойств CSS (они же CSS-переменные). Это требует большой подготовки на стороне SVG:
символ>
Для этой демонстрации я украл иконку из превосходного Iconic, который предлагает отзывчивые, многоцветные иконки SVG (на основе CSS и немного JS, насколько я понимаю). Я попытался сымитировать их собственный многоцветный пример для этой иконки, надеюсь, они не против.
Один символ, использующий 6 различных пользовательских свойств CSS.См. в Firefox, Chrome или Safari 9.1+
Довольно хорошо работает в поддерживаемых браузерах. Есть только одна иконка: первый экземпляр не объявляет ожидаемые переменные, поэтому возвращается к currentColor; следующие два экземпляра объявляют набор значений переменных.
Как вычисляются проценты
ширины штриха
? Чему соответствует процент в stroke-width:N%
? Это ширина, высота значка? Оказывается, это относительно диагонали, но с причудливой формулой (spec) (длина диагонали, деленная на квадратный корень из 2, что близко к 1,4).
Что это значит? Что ж, для квадратных значков результатом этой формулы является сторона квадрата. Итак, 1%
означает «один процент ширины или один процент высоты». Красиво и просто.
Однако для более широких или высоких значков результат может немного измениться:
Во втором значке (соотношение сторон 2:1, показанное с той же высотой и в два раза больше), stroke-width:5%
дает нам обводку примерно: 7,91% высоты и 3,95% ширины. ширина. Учитывая все обстоятельства, я по-прежнему рекомендую использовать процентные значения для stroke-width
. Если вы придерживаетесь квадратного или круглого значка, вы можете использовать процентные значения, понимая, что они означают, грубо говоря, «процент от ширины значка».
Использование градиентной заливки
Мы не можем использовать CSS linear-gradient(…)
, потому что это, к сожалению, не применимо к свойству SVG fill
. Если нам нужны градиентные заливки, нам нужно будет использовать градиенты SVG.
Создание анимированных значков SVG — кодирование не требуется
Найдите все необходимые инструменты для создания анимированных SVG-иконок еще проще! Усильте свою векторную графику с помощью удобного приложения для анимации иконок.
НАЧАТЬ
Кредитная карта не требуется
Анимированные иконки SVG выведены на новый уровень
Создавайте интерактивные анимированные иконки в кратчайшие сроки
Интуитивно понятный интерфейс, нулевое кодирование
Продвинутые аниматоры, кривая обучения близка к нулю
Повысьте вовлеченность вашего веб-сайта с помощью гладких и легких анимированных значков. Настройте анимацию на запуск при загрузке, наведении или щелчке.
Создавайте потрясающие иконки SVG
с помощью знакомого набора графических инструментов и анимируйте их, устанавливая ключевые кадры на временной шкале. Экспорт одного файла SVG.
Получите самые передовые аниматоры: морфинг, обтравочные маски, фильтр и анимация пути — это лишь некоторые из универсальных инструментов.
Проекты, сделанные с помощью SVGator
Вдохновитесь удивительными векторными изображениями, созданными нашим постоянно растущим сообществом. SVGator внес свой вклад в тысячи успешных дизайнерских проектов и продолжает свою миссию по поощрению широкого использования SVG.
Самый продвинутый онлайн-аниматор иконок
Попробуйте лучшее приложение для анимации значков, чтобы создавать невероятно уникальные и привлекательные значки SVG для своего веб-сайта или мобильного приложения. Создайте свой значок SVG с помощью удобного графического инструмента, а затем анимируйте его, не написав ни единой строчки кода.
Ничего скачивать не нужно; вы можете начать прямо сейчас в мощном онлайн-приложении. Ваши анимированные значки сохранят одинаковое качество на веб- и мобильных платформах — именно так, как вы хотите!
Лучшие анимированные иконки создаются с помощью SVGator.
Откройте для себя все мощные инструменты для анимированных SVG-иконок прямо у вас под рукой. Создавайте эффекты саморисования или морфинга, комбинируйте обтравочный контур с обтравочной маской, пробуйте анимацию цвета и фильтра, пока код автоматически генерируется в фоновом режиме.
Установка настраиваемых параметров замедления, времени, интерактивности и типа файла при экспорте. Анимация веб-иконок еще никогда не была такой увлекательной!
Лучшее взаимодействие с пользователем с меньшими усилиями
Будьте на шаг впереди с анимированными значками SVG, которые не только интересны, но и имеют множество преимуществ с точки зрения удобства работы пользователей.
Привлеките внимание зрителей и увеличьте вероятность взаимодействия с помощью умной микроанимации, скройте время загрузки с помощью привлекательных значков загрузки, поощряйте пользователей следовать за вами с помощью анимированных значков социальных сетей и направляйте их по веб-сайту или приложению с помощью интерактивных настраиваемых значков.
Как анимировать иконки
Создавать
Нарисуйте значок svg с нуля или импортируйте файл. Используйте графические инструменты, чтобы добавить фильтры, градиенты, маски или внести другие изменения.
Анимировать
Создание эффектов анимации значков: выберите аниматора, настройте ключевые кадры на временной шкале, установите скорость и функции плавности.
Экспорт
Экспортируйте анимированные векторные иконки для Интернета или мобильных приложений. Вы получите один файл SVG, готовый к реализации.
СОЗДАТЬ SVG СЕЙЧАС
«Что мне больше всего нравится в SVGator, так это то, что он онлайн и работает в облаке. Интерфейс очень простой, интуитивно понятный и удобный. Обучение не такое уж сложное, даже потому, что в Интернете есть много руководств, которые помогают в этом.»
Александр Р. — Дизайнер
Зачем мне создавать анимированные значки SVG?
Анимированные векторные значки — это разумный выбор для эффективной передачи сообщения и экономии места. Они поддерживают интерес пользователей и позволяют им взаимодействовать с вашим сайтом или приложением. Лучший пользовательский опыт приводит к более высокой конверсии.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Почему я должен использовать формат SVG вместо другой графики?
Значки SVG рассчитаны на будущее: они не зависят от разрешения и имеют небольшой размер файла, в отличие от других форматов изображений. Их можно легко анимировать, а также они поддерживают интерактивность, поэтому вы можете настроить воспроизведение значков при загрузке, наведении или щелчке.
Как реализовать анимированные значки?
Для веб-сайтов можно использовать теги или
Работайте умнее, а не усерднее с SVGator
Пришло время попробовать революционно новый способ создания и анимации дизайна. Порадуйте своих зрителей и скажите больше с помощью анимированных значков SVG!
НАЧАТЬ
Кредитная карта не требуется
РЕСУРСЫ
ПОДДЕРЖКА
Посмотрите, что о нас говорят другие:
© 2022 СВГатор. Все права защищены.
15 веб-сайтов для загрузки бесплатных иконок SVG
С ростом использования экранов с высоким разрешением мы наблюдаем рост иконок SVG. В отличие от растровой графики, SVG масштабируется и не зависит от разрешения, что позволяет ему оставаться четким независимо от размера и разрешения экрана.
Итак, здесь мы собрали лучшие ресурсы, из которых вы можете получить высококачественные иконки SVG. Некоторые ресурсы предоставляют больше, чем просто значки, с удобными функциями для повышения производительности дизайнеров и разработчиков.
Без лишних слов, давайте перейдем к полному списку.
Тестирование поддержки SVG в механизмах веб-браузеров (пример)
Тестирование поддержки SVG в механизмах веб-браузеров (пример)
SVG (масштабируемая векторная графика) официально поддерживается всеми основными веб-браузерами, включая Internet Explorer. Поддержка охватывает… Подробнее
Иконки Bootstrap
Официальная коллекция иконок от Bootstrap, одного из самых популярных фреймворков HTML/CSS. Он содержит более 1500 значков в форматах SVG и SVG , обеспечивающих большую гибкость. Хотя эти значки разработаны для Bootstrap, вы можете использовать их с любым другим фреймворком.
Boxicons
Boxicons содержит более 1500 иконок , сгруппированных по нескольким категориям, таким как Электронная коммерция, Финансы и Музыка, что позволяет легко сортировать и находить конкретную коллекцию.
Каждая иконка имеет свой формат; вы можете не только выбрать и загрузить их в формате SVG, но и использовать их в качестве значка шрифта и веб-компоненты. Это один из моих способов, когда мне нужны значки для веб-сайта или приложения.
Иконки с перьями
Поиск Более 200 красивых иконок . Что мне нравится в этой коллекции, так это то, что она позволяет настраивать размер, ширину обводки и цвет перед загрузкой значков. Кроме того, вы можете загрузить определенные значки или загрузить их все вместе .
Iconoir
Iconoir является номером бесплатная коллекция с открытым исходным кодом, содержащая более 900 иконок . Он поставляется в нескольких форматах, включая SVG, Font, React.js и даже Figma и Framer. Я уверен, что и дизайнеры, и разработчики оценят эту коллекцию.
Ionicons
Набор иконок из Ionic framework, предназначенный для использования в веб-, мобильных или настольных приложениях. Каждая иконка доступна в трех разных стилях: Outline , Filled и Sharp . Они доступны в виде значков SVG и Font.
Иконки Tabler
Содержит более 1300 иконок. Tabler — одна из идеальных коллекций для использования в дизайне вашего веб-сайта или приложения. Он выглядит четким, последовательным и настраиваемым. Каждый значок доступен в нескольких других форматах, помимо SVG, включая JSX, URI данных, компонент React, Webfont, SCSS , а также показывает несколько примеров того, как можно применять значки к компоненту пользовательского интерфейса.
Radix Icons
Набор значков с тонким контуром 907:50 . Каждая иконка размером 15×15 пикселей выглядит четко на экране. Вы можете получить коллекцию в виде файла Figma, файла Sketch, IconJar, SVG или NPM. Эти различные форматы обеспечивают беспрепятственное сотрудничество между дизайнерами и разработчиками.
Heroicons
Heroicons — это набор иконок, разработанный людьми из Tailwind. Он предоставляет набор из более чем 200 иконок. Каждая иконка поставляется в 2 стилях «Контур» и «Заполненный» и доступна в виде библиотеки компонентов SVG, JSX и Vue 907:50 . Для дизайнеров вы можете скачать файл Figma для всех иконок.
Иконки Ant Design
Эта иконка является частью системы Ant Design. Но вы можете установить коллекцию значков как отдельный компонент через NPM. Каждый значок доступен как компонент React.js и будет отображаться как SVG.
Он также поставляется в трех стилях — Контурный , Заполненный , Двухцветный — и совместим со светлой или темной цветовой схемой из коробки. Если вы создаете приложение React.js, это одна из лучших коллекций иконок.
Remix Icon
Remix Icon — удивительная коллекция из более чем 2000 иконок. Некоторые значки имеют несколько вариаций. Например, существует более десятка вариаций домашних иконок. Это позволяет вам выбрать наиболее подходящую иконку для персонажа вашего сайта.
Иконки для дизайна материалов
Это коллекция иконок из дизайн-системы Google Material. Он поставляется с интуитивно понятным пользовательским интерфейсом, который обеспечивает удобство реализации значка на нескольких различных платформах, включая Интернет с помощью SVG или значка, Android, iOS, Flutter, а также специально интегрирован с Angular.
Octicons
Библиотека значков от Github, эти значки были созданы для их системы дизайна «Primer», специально для приложений Github , что делает его идеальным набором, если вы создаете веб-сайт или приложение, интегрированное с Github. Вы можете установить и использовать значки через Gem (пакет Ruby), NPM или как компонент React.js.
Icons Grommet
Набор SVG-иконок, созданных как компоненты React.js . Вы можете найти несколько уникальных значков в коллекции, а некоторые значки даже доступны в полноцветном виде, а не только в белом и черном.
CSS.gg
Этот сайт содержит около 700 высококачественных иконок. Коллекция значков доступна во многих форматах, включая CSS, SVG, TypeScript, Figma, Adobe XD и в качестве конечной точки API . Это позволяет упростить совместную работу дизайнеров и разработчиков при разработке веб-сайтов и преобразовании дизайна в код.
Typicons
Typicons — это набор красивых иконок современного вида, предназначенных для веб-приложений или нативных — мобильных и настольных — приложений. На момент написания этой статьи существует около 300 значков, каждый из которых доступен как в формате SVG, так и в формате шрифта значков, и не зависит от разрешения, что делает его четким и четким независимо от разрешения экрана.
Масштабируйте их и сохраняйте качество
Давайте перейдем сразу к делу: значки SVG представляют собой графику на основе XML, которая использует векторные данные, а не пиксели. Полезен ли этот формат? Вы будете удивлены.
Совсем недавно наша команда обсуждала, какой формат значков лучше — SVG, шрифты значков или PNG. Имейте в виду, что мы команда из 25 дизайнеров и веб-разработчиков, так что дела пошли жарко (но цивилизованно).
Тем не менее, иконки SVG одержали победу в большинстве категорий. Ясно выделяются две причины: вы можете легко настроить их, и они нравятся современным браузерам. После того, как вы узнаете о них, мы уверены, что вы тоже оцените их.
В этой статье мы поговорим о:
Что делает значки SVG особенными?
Самое большое качество масштабируемой векторной графики (SVG) заключается в том, что они основаны на векторах . Благодаря этому браузер может легко их отображать, и все внесенные вами изменения будут отображаться без потери качества.
Что это означает на практике? Это позволяет вам увеличивать (или уменьшать) столько, сколько вы хотите , сохраняя при этом все детали кристально четкими. Точки и линии определяются кодом SVG, поэтому изображение может отображаться правильно независимо от размера.
Что такое иконки SVG?Теперь вы можете сказать: иконочные шрифты тоже векторные и легко масштабируются. Верно, но с существенной разницей — иконочный шрифт воспринимается браузером как шрифт, а SVG — как графика . Это, в свою очередь, предотвращает правила сглаживания и последующее размытие краев.
Следует также отметить, что векторные иконки SVG отображаются с использованием фонов CSS . Это означает, что вы можете легко изменить цвет, размер или любое другое свойство прямо в CSS.
С точки зрения производительности огромным преимуществом является возможность хранить множество значков в одном файле. Это очень полезно, потому что предотвращает необходимость отправки нескольких HTTP-запросов (делает страницу намного быстрее).
Итак, есть ли недостатки у значков SVG? Да. Одним из самых больших недостатков является их несовместимость со старыми веб-браузерами . Например, IE8 и Android 2.3 (и более ранние версии) их не отобразят. Кроме того, они не особенно хороши для сложных изображений, потому что код становится громоздким, что вызывает проблемы с рендерингом.
Значки SVG представляют собой векторные графические файлы, что означает, что вы можете свободно изменять их размер, сохраняя при этом идеальное качество изображения.
Производительность значков SVG
Общая производительность значков SVG может оцениваться по нескольким аспектам: масштабируемость, настройка, поддержка браузерами, доступность, встроенный и внешний стиль, а также позиционирование. Мы скажем несколько слов о каждом из них, чтобы вы могли понять, подходит ли вам набор иконок SVG.
Масштабируемость (разрешение)
Огромным преимуществом использования значков SVG является возможность их настройки. Строки кода очень легко изменить, поэтому вы можете увеличить или уменьшить изображение за считанные секунды. Затем браузер снова отображает файл, и вы получаете кристально чистое SVG-изображение . Кроме того, в отличие от файла шрифта, файл CSS значка SVG по-прежнему рассматривается как графика, поэтому сглаживание не выполняется.
Настройка
Что нам особенно нравится в веб-значках в формате SVG, так это простота их настройки. Вы можете измените каждый элемент SVG в CSS , от размера и цвета до анимации значка. SVG-анимация работает очень хорошо при отображении без снижения скорости страницы.
Поддержка браузеров
Формат файла векторной графики очень хорошо поддерживается всеми современными браузерами. Если вы храните свою библиотеку значков в виде спрайта SVG (один файл), не будет многократных запросов , поэтому производительность браузера будет превосходной. Однако, как мы уже отмечали, старые браузеры (IE8 и старше) не имеют хорошей поддержки SVG, поэтому векторное изображение не будет отображаться должным образом.
SEO и доступность
Благодаря своей природе XML графические форматы SVG легко доступны . Браузер считывает и отображает информацию быстро и легко, что не только повышает скорость, но и помогает с SEO.
Внешние и встроенные значки SVG
С точки зрения производительности встроенные значки SVG являются гораздо лучшим решением . Встроенный значок уменьшает количество HTTP-запросов, что снижает время загрузки страницы, делая его похожим на значки шрифтов. С другой стороны, внешние SVG могут отправлять большое количество запросов, что нежелательно, если вам нужна высокопроизводительная страница.
Позиционирование
В отличие от альтернатив, масштабируемые векторные значки имеют позиционирование с кодом . Из-за этого очень легко определить точное положение без регулировки размера, выравнивания или интервала, как если бы вы делали это со значком шрифта.
Где использовать (и не использовать) иконки SVG
После разговора о технических моментах мы также должны обсудить, где вы должны и не должны использовать систему иконок SVG.
Как мы уже отмечали, основными преимуществами SVG являются простая настройка и идеальное масштабирование . Таким образом, они отлично подходят для значков, которые необходимо легко подстраивать под размер окна.
С другой стороны, значки SVG и другая графика SVG в целом не предназначены для сложных изображений. В этом случае код в теге SVG становится огромным, что может замедлить работу страницы.
Как значки SVG сравниваются с другими форматами?
Все три самых популярных формата значков (PNG, SVG и шрифт) имеют свои преимущества и недостатки в зависимости от того, где вы их используете. Давайте быстро рассмотрим некоторые из наиболее заметных отличий.
SVG и иконочные шрифты
Основной принцип SVG и иконочных шрифтов очень похож, главное отличие заключается в том, как их воспринимает браузер. Хотя оба являются векторами, браузер воспринимает SVG как графику, а иконочный шрифт обрабатывается как стандартный веб-шрифт.
Это позволяет SVG избегать правил сглаживания , в то время как иконочные шрифты подчиняются им и могут стать размытыми при слишком большом расширении.
С другой стороны, иконочные шрифты тоже имеют свои преимущества. 9Размер файла 0749 меньше по сравнению с SVG , поэтому они обеспечивают еще более высокую производительность. Из-за этого они являются лучшим вариантом, если вам нужно большое количество простых однотонных иконок.
SVG vs PNG Icons
Основное различие между ними заключается в том, что растровая графика (PNG) имеет фиксированный размер, а векторная графика (SVG) не имеет .
Это означает, что если вы растянете изображение PNG за пределы его исходного размера, оно начнет становиться размытым и пиксельным. Иконки SVG, с другой стороны, визуализируются с использованием векторов, поэтому у них нет этой проблемы.
Однако у значков PNG тоже есть свои преимущества. После оптимизации файлы PNG могут быть очень маленькими и плавно работать на веб-страницах. Кроме того, они значительно лучше для сложных детализированных изображений .
Если вы хотите больше узнать о форматах высококачественных изображений, чтение о HEIF и Progressive JPEG — отличный способ начать.
Самостоятельное создание значков SVG
Если вы решили, что значки SVG — это решение для вас, теперь вам нужно создать систему значков, которую вы сможете загрузить на свой веб-сайт. Здесь у вас есть несколько вариантов — создать SVG с нуля, преобразовать шрифт значков или преобразовать формат изображения в код SVG.
Создание SVG с нуля
Если вам нужен собственный набор значков, вы будете рады узнать, что создавать SVG несложно (при наличии базовых навыков проектирования).
Если у вас есть платное программное обеспечение от Adobe, четыре программы могут экспортировать и импортировать SVG: InDesign, Illustrator, Photoshop и Animate. Некоторые программы, такие как Illustrator, могут даже экспортировать код, который можно включить непосредственно в HTML.
Однако вам не обязательно иметь дорогое программное обеспечение для создания файлов SVG. Некоторые из известных бесплатных опций включают, среди прочего, Inkscape, GIMP и Figma.
Не хотите тратить время на создание собственных иконок? Это нормально, мы понимаем и хотим помочь.
Все дизайны Flat-Icons доступны в формате SVG , что позволяет мгновенно адаптировать их для вашего проекта. Если это звучит интересно, вы можете взглянуть на нашу галерею или ознакомиться с набором из 20 000 иконок .
Преобразование шрифта значков в вектор (TTF в SVG)
Для тех из вас, у кого есть библиотеки шрифтов значков и которые хотят преобразовать их в спрайт символов SVG, Интернет — это путь. Два конвертера, которые мы рекомендуем (потому что мы их используем), — это Convertio и CloudConvert, но многие альтернативы также доступны в Интернете.
Преобразование формата изображения в вектор (PNG в SVG)
Как и значки шрифтов, форматы изображений (прежде всего PNG) довольно просто преобразовать. Проще всего сделать это в любом из программ, которые мы перечислили выше. Помимо этого, вы также можете использовать онлайн-конвертер, такой как ранее упомянутый Convertio или Vector Magic.
Добавление файла SVG в WordPress
После того, как вы подготовили свои значки (будь то отдельный значок, пакет значков или спрайты изображений SVG), добавить их в WordPress можно одним из двух основных способов.
Поскольку мы говорили о том, что значки SVG представляют собой блок кода, вы можете просто вставить HTML-код туда, куда хотите, чтобы значок был.
Если вы не хотите возиться с кодом, вам понадобится плагин WP, который позволит вам напрямую добавлять изображение. Два отличных плагина для обработки загрузки SVG — это SVG Support и Safe SVG, но есть много вариантов, если вы хотите изучить.
Заключение
Как и любой другой формат, иконки SVG имеют как плюсы, так и минусы — назвать их идеальными было бы нечестно. Однако в современной веб-разработке у них есть много преимуществ, поэтому их популярность продолжает расти.
Вам кажется, что мы что-то упустили? Есть что-то, что вы хотели бы добавить? Напишите нам комментарий, будем рады.
Формат файла SVG используется для двумерных изображений с особым акцентом на настройку. Поскольку это векторы, вы можете изменять размер, цвета и другие элементы без ущерба для качества.
Значки SVG существуют в виде текста XML, который браузеры могут легко читать и отображать. Тот факт, что они представляют собой блоки кода (а не изображения), позволяет легко вносить изменения и настраивать их под свои нужды.
Это действительно зависит от того, для чего вам нужен образ. Из-за своей масштабируемости SVG намного лучше подходят для логотипов, материального дизайна иконок, анимированных иконок и иллюстраций. С другой стороны, PNG значительно лучше для сложных изображений.
Вы должны использовать SVG, когда вам нужна графика легко изменяемого размера. Хорошим примером являются значки, но SVG также отлично подходит для логотипов, графиков и иллюстраций. Кроме того, создание библиотеки значков с помощью значков SVG повышает производительность страницы.
Учебное пособие по SVG: как кодировать иконки SVG вручную
Сколько себя помню, я избегал касаться SVG при работе с интерфейсным кодом. У меня не было бы проблем с HTML, CSS или JavaScript, но SVG всегда пугали меня своим причудливым синтаксисом и этими странными, неразборчивыми строками букв и цифр. Вы знаете такие:
Если бы мне понадобились значки для проекта, я бы установил одну из многих доступных библиотек значков, но это всегда оставляло меня неудовлетворенным. Конечно, в использовании библиотек нет ничего плохого, но также не помешает понять, как на самом деле работают используемые вами инструменты. Так почему бы также не научиться рисовать свои собственные SVG-иконки вручную, даже если в конечном итоге вы будете использовать библиотеку?
Как вы увидите в этом руководстве, кодирование значков SVG вручную на самом деле довольно просто, если вы освоите основные формы и синтаксис. Мы нарисуем кучу иконок, чтобы помочь вам отточить свои навыки работы с SVG. Вот краткий обзор всех иконок, которые мы создадим:
- Выравнивание по левому краю Четыре горизонтальные линии располагаются вертикально и выравниваются по левому полю, сужаясь вправо.
- Текст Текстовый значок, представленный заглавной буквой T в стиле с засечками.
- ЧасыЗначок часов, представленный в виде круга с двумя концентрическими линиями для стрелок, указывающих в направлении 8 часов.
- ИнформацияИнформационный значок, часто используемый для обозначения дополнительной информации или уведомлений. Представлен в виде круга с концентрической строчной буквой i.
- Стрелка вправоСтрелка, указывающая вправо, с центром в круге.
- ПредупреждениеПредупреждающий индикатор, представленный в виде направленного вверх равностороннего треугольника и концентрического восклицательного знака.
- КалендарьЗначок календаря с прямоугольным телом и двумя параллельными вертикальными линиями вверху, с горизонтальной линией вверху
- Внешняя ссылкаЗначок, используемый для представления внешних ссылок и ресурсов. Прямоугольная форма имеет вырез в правом верхнем углу; стрелка указывает через этот пробел.
Я черпал вдохновение для этих SVG-иконок из Feather Icons, фантастической библиотеки, созданной Коулом Бемисом. Эти значки помогут нам научиться рисовать следующие фигуры SVG:
- Строки
- Полилинии
- кругов
- полигонов
- Изогнутые дорожки
Как только вы изучите основы, вы сможете рисовать с помощью SVG почти все что угодно.
Надеюсь, вам не терпится начать! Не стесняйтесь прыгать, если хотите, но я намеренно структурировал это руководство таким образом, чтобы каждый раздел основывался на новых знаниях.
Пропустить оглавление
Оглавление
SVG означает масштабируемую векторную графику; это формат векторного изображения , позволяющий рисовать фигуры с помощью языка разметки (XML). «Масштабируемая» часть имени является ключевой характеристикой SVG — в отличие от форматов растровых изображений (например, PNG, JPEG), векторные изображения не теряют качества при увеличении их исходного размера. В то время как растровые изображения хранят свои данные с использованием пикселей фиксированного размера, векторные изображения, такие как SVG, хранят свои данные в виде определений XML для фигур, которые можно легко масштабировать в соответствии с любым размером.
По аналогии, это разница между рисованием чего-либо на экране (растровые изображения) и предоставлением вашему браузеру инструкций о том, как рисовать что-либо на экране относительно системы координат (векторные изображения). Векторные изображения делают ваш браузер более гибким, поскольку их можно масштабировать до любого размера с помощью простой математики.
В качестве бонуса вы даже можете плавно анимировать SVG, чтобы создать действительно забавный и привлекательный пользовательский интерфейс. Вот несколько заслуживающих внимания блогов разработчиков, которые делают это:
- Джошуа Комо
- Кэсси Эванс
- Джордж Фрэнсис
- Уилл Бойд
Как рисуются SVG?
Существует два способа рисования SVG: вручную, когда вы явно определяете разметку с помощью HTML, или с помощью программы векторного изображения , такой как Inkscape:
Эти программы поставляются с основными формами, палитрами цветов, инструментами рисования и контуром. манипулирование, позволяющее создавать сложные рисунки с большей легкостью, чем если бы вы делали их вручную. Обычно дизайнеры и художники логотипов используют графические интерфейсы, такие как Inkscape, а не кодируют SVG вручную. Тем не менее, понимание того, как работает разметка SVG, является ценным опытом. В конце концов, эти программы выводят .svg
файлов; если вы проверите эти файлы, вы обнаружите, что их разметка — это всего лишь XML, и вы сможете разобраться в этом, если поймете, как работают SVG.
Я знаю, вам не терпится перейти к примерам, но обо всем по порядку!
Все формы SVG определяются внутри самого элемента SVG, например:
Конечно, это еще не все. Давайте рассмотрим базовую анатомию SVG.
Объявления пространств имен SVG
Если вы когда-либо проверяли содержимое файла .svg
, например, созданного Inkscape или какой-либо другой программой для работы с векторными изображениями, вы могли видеть этот атрибут xmlns
в самом элементе svg
. :
Это известно как объявление пространства имен. Проще говоря, объявление пространства имен помогает пользовательскому агенту, такому как ваш браузер, понимать и анализировать синтаксис элемента. Здесь мы объявили, что наше пространство имен — SVG. Объявление пространства имен не требуется, если вы визуализируете встроенные значки SVG, как в HTML. Но если вы включаете SVG файлы (например, как изображение), то SVG не нужно указывать свое пространство имен. Я опущу пространство имен в этом уроке, так как оно нам не нужно.
SVG
viewBox
и Size Вы, наверное, также видели эти три атрибута: width
, height
и viewBox
:
Атрибут viewBox
определяет размеры области просмотра («холста») для SVG 907:50 . Первые два числа позволяют вам панорамировать окно просмотра SVG по горизонтали или вертикали, придавая ему вид некоторого внутреннего смещения относительно начала координат, (0, 0)
. В приведенном выше примере кода у нас есть смещение 0 0
, что означает, что верхний левый угол области просмотра является исходной точкой.
Ниже приведены две иконки SVG. Тот, что слева, имеет viewBox
из 0 0 24 24
. Тот, что справа, имеет viewBox
из 6 6 24 24
. В результате начало координат второго окна просмотра смещено на 6
единиц по горизонтали и вертикали. Таким образом, вместо (0, 0)
источник теперь равен (6, 6)
. Это означает, что изображение смещается влево относительно viewBox
. Как будто мы переместили наш холст в правый нижний угол.
Последние два числа определяют размер (горизонтальный и вертикальный соответственно) этой системы координат, прежде чем будет выполнено какое-либо масштабирование. Большие числа приводят к большему размеру области просмотра и большему пространству для работы, в то время как меньшие числа приводят к меньшему размеру области просмотра и меньшему пространству для работы. В приведенных выше примерах размер области просмотра объявлен равным 9.0035 24 24 , поэтому наши координаты варьируются от (0, 0)
(верхний левый угол) до (24, 24)
(нижний правый угол):
Наконец, ширина
и высота
Атрибуты работают так, как вы ожидаете: они определяют окончательную (масштабированную) ширину и высоту вашего элемента SVG в пикселях. Кроме того, вы можете изменить размер SVG с помощью CSS, используя width
и height
.
Масштабирование SVG:
viewBox
против ширины
и высота
Все фигуры SVG рисуются относительно системы координат viewBox
, а не окончательной ширины
и высоты
SVG. Это означает, что размер вашего холста может быть 24x24
, и любые фигуры, которые вы рисуете, будут ограничены этим базовым координатным пространством 576
пикселей, но позже вы можете масштабировать векторное изображение по мере необходимости.
Например, если наш viewBox
равен 0 0 24 24
, но мы установили ширину и высоту равными 32
или какое-то другое число, то мы по-прежнему работаем с базовым размером области просмотра 24x24
, поэтому видимой точки вроде (25, 25)
нет. Все просто увеличится в 1,3
раз, чтобы получить SVG-рисунок большего размера. Это действительно полезно, потому что это означает, что мы можем рисовать все наши значки, используя фиксированный размер окна просмотра, и если мы позже захотим увеличить его, нам не нужно настраивать формы и их координаты — ширина , высота
и .
все масштабирует за нас.
Для этого урока я буду использовать viewBox
из 0 0 24 24
, но размеры 64x64
, чтобы значки было легче увидеть. Однако вы можете использовать любые значения, которые вы хотите, если вы соответствующим образом настроите свою разметку.
SVG и «пиксели»
Прежде чем мы двинемся дальше, поясняющее примечание о пикселях и SVG: в самом простом SVG один пиксель соответствует ровно одному элементу на экране. Но, как отмечено в документации MDN, это не всегда так. В конце концов, SVG масштабируемы, поэтому 1px
в координатном пространстве SVG может фактически отображаться в 4px
, если SVG был масштабирован до большего размера с шириной
и высотой
. Это отличается от поведения растровых изображений, где один «пиксель» всегда является единицей измерения фиксированного размера. Ключевой вывод: везде, где я использую пикселей
в качестве единицы, не принимайте это за один буквальный выходной пиксель на экране пользователя.
Лучший способ научиться рисовать значки SVG вручную — это работать с основными фигурами. Для начала мы нарисуем несколько значков с помощью линий. Это познакомит нас с некоторыми основами SVG, прежде чем мы углубимся в более сложные формы.
1. Линии
Мы попрактикуемся в рисовании линий, воссоздав три значка ниже. Вы найдете их во многих текстовых редакторах, которые предлагают варианты выравнивания текста:
- Выравнивание по левому краю Четыре горизонтальные линии располагаются вертикально и выравниваются по левому полю, сужаясь вправо.
- Выравнивание по центруЧетыре горизонтальные строки располагаются вертикально и центрируются по горизонтали на странице.
- Выравнивание по правому краю Четыре горизонтальные линии располагаются вертикально и выравниваются по правому полю, сужаясь влево.
Каждый значок состоит из четырех горизонтальных линий. И чтобы нарисовать линию в SVG, нам нужны две вещи:
- Начальная точка:
(x1, y1)
. - Конечная точка:
(x2, y2)
.
Напоминаем, что система координат SVG начинается с (0, 0)
в верхнем левом углу. Значения x
увеличиваются при движении вправо, а значения y
увеличиваются при движении вниз.
SVG позволяют указать начальную и конечную точки линий с помощью четырех атрибутов: x1
, y1
, x2
и y2
. Итак, чтобы нарисовать простую горизонтальную линию, мы могли бы сделать следующее:
Вы можете думать об этом как о том, что браузеру нужно положить воображаемое перо на (0px, 4.2px)
и переместить его вправо, пока оно не достигнет (24px, 4.2px)
.
Если вы используете эту разметку на своем конце, вы пока ничего не увидите. Это потому, что мы не сказали браузеру, какой цвет использовать для линии! Это можно сделать двумя способами:
- Установка атрибута
штриха
для элемента SVG или любой из его отдельных форм. - Установка свойства
штрих
через CSS, для элемента SVG или любой из его форм.
Оба будут делать одно и то же, но я предпочитаю подход CSS, так как это означает, что нужно писать меньше кода. Вы можете либо передать жестко закодированный цвет, например шестнадцатеричное значение, либо использовать магическое значение currentColor
:
svg { обводка: текущий цвет; }
В CSS, currentColor
всегда ссылается на текущий текст color
, который является либо цветом, унаследованным от родителя, либо любым другим цветом, который вы явно определили для этого элемента. Я предпочитаю currentColor
для SVG, так как мне легко вставлять свои значки в любое место, и они наследуют цвет окружающего текста. Более того, если этот цвет текста установлен с помощью пользовательских свойств CSS, currentColor
будет меняться при каждом изменении пользовательского свойства! Это полезно для стилизации значков SVG в приложениях, которые имеют как светлый, так и темный режим (например, этот сайт).
Установив цвет обводки, мы наконец можем увидеть нашу линию:
Горизонтальная линия
При уменьшении масштаба эта линия может выглядеть немного тонкой. Это потому, что он использует ширину штриха по умолчанию 1
единиц. К счастью, мы можем изменить его толщину с помощью атрибута stroke-width
либо для родительского элемента SVG, либо для любой отдельной формы. Если вы установите его для родителя SVG, все фигуры наследуют это значение. Однако, как и в случае с цветом обводки, вы также можете сделать это с помощью одноименного свойства CSS, например:
свг { ширина хода: 2; }
В результате линия стала толще:
В оставшейся части этого урока я буду использовать ширину обводки 2
. Вы можете выбрать другое значение, если хотите, если вы скорректируете оставшиеся расчеты.
И это все, что нам нужно знать, чтобы нарисовать три значка, которые мы видели ранее! Мы просто настроим координаты x
, чтобы получить более короткие или более длинные строки по мере необходимости. Вот полная разметка для всех трех значков:
Вам может быть интересно, как я выбрал значения и
. Они кажутся произвольными, не так ли? Оказывается, нам просто нужно немного посчитать.
У нас есть четыре линии, каждая с шириной штриха 2
; вместе они занимают в общей сложности 8px
пространства. Оставшиеся 16px
пространства равномерно распределяются между пятью промежутками, что дает нам 3,2 пикселя
интервалов над и под каждой строкой. Но обратите внимание, что если мы поместим линию на каком-то значении y
, она не будет рисовать себя на 2px
вниз от этой точки. Скорее, он будет центрироваться на этом уровне, с половиной своей толщины сверху и снизу. Итак, первая строка начинается не с y = 3,2px
, а с y = 3,2 + 1 = 4,2px
.
Кстати, вам может оказаться полезным временно давать вашим элементам SVG границу во время их рисования, чтобы вы могли лучше визуализировать ограничения, с которыми вы работаете:
свг { граница: сплошная 1px; }
Я буду делать это для большинства демонстраций в этом уроке.
Прежде чем мы двинемся дальше, обратите внимание, что вам не нужно рисовать линии, которые являются идеально горизонтальными. Вы также можете рисовать идеально вертикальные линии:
Или даже диагональные линии:
И это все, что вам действительно нужно знать о строках SVG. В качестве упражнения я попрошу вас нарисовать значок гамбургера, который вы видели бы в мобильном навигационном меню.
Кстати, вы заметили, что все мои линии имеют закругленные концы? Если вы следили за своим концом, вы могли видеть плоские концы, а не круглые. Вы не делаете ничего плохого! Мы рассмотрим это в следующем разделе ( stroke-linejoin
и stroke-linecap
).
2. Полилинии
Представьте, что мы хотим нарисовать несколько сегментов линии, например, букву T
в текстовом значке:
Нам действительно нужно рисовать отдельные
формы для каждого отдельного сегмента, и расположить каждую строку в правильном месте в нашей сетке 24x24
? В этом простом случае сделать это было бы не так уж и сложно, но вы можете себе представить, что это будет раздражать для чего-то более сложного.
К счастью для нас, поэтому <полилиния>
существует! В основном это позволяет нам определять только узлы/точки для пути, состоящего из нескольких сегментов линии. Браузер играет для нас, рисуя фактические линии между каждым узлом.
<полилиния>
определяется с помощью атрибута точек
, например:
Это самое простое из возможных <полилиния>
, который вы можете создать; он определяет горизонтальную линию от (3, 4)
до (21, 4)
:
принимает строку, состоящую из x y
точек, разделенных запятыми. Вам не нужно использовать запятые, но мне нравится, потому что это делает пары (x, y)
точек четкими. Без запятых приведенный выше SVG немного сложнее читать, так как вам нужно мысленно сгруппировать числа:
В любом случае, ваш браузер рисует сплошную линию между первой парой координат, сплошную линию между второй и третьей парами координат и так далее. Однако обратите внимание, что ломаная линия не замыкается автоматически. Другими словами, если у вас есть n
узлов, узел n-1
не будет возвращаться назад и присоединяться к первому узлу, если вы явно не повторите первый узел в точках
. Мы еще вернемся к этой идее в разделе, посвященном полигонам, но пока держите ее в уме.
Мы можем нарисовать значок текста, который я показал ранее, комбинируя
и базовую форму
. Мы начнем с создания верхней левой засечки буквы T
:
От (3, 4)
мы будем двигаться горизонтально, пока не окажемся на таком же расстоянии от правого края, как и от левого:
Хм, это не так! Левый и верхний края буквы T
были нарисованы правильно, но между ними есть странная заливка, которая создает нежелательную треугольную форму. Что с этим делать?
Это из-за свойства SVG, которое я скрывал от вас до сих пор: fill
. Точно так же, как штрих
определяет цвет линий формы SVG, заливка
определяет фоновую заливку SVG. Для большинства фигур fill
имеет значение 9.0035 черный по умолчанию. Но в этом случае, поскольку мы хотим рисовать только линии и не хотим никакой заливки для этого значка, мы можем установить заливку none
, либо используя атрибут fill
в элементе SVG, либо свойство CSS то же имя.
Обратите внимание, что некоторые значки могут на самом деле выиграть от пользовательской заливки, поэтому вам не нужно всегда отключать это глобально в вашем приложении. Но для наших целей это будет мешать рисованию таких фигур, как полилинии, многоугольники и т. д., поскольку мы на самом деле не нужно заполнить. Итак, в оставшейся части этого урока я буду использовать этот дополнительный CSS, чтобы очистить заливку для всех значков:
svg { заполнение: нет; }
С этим набором наша форма теперь должна выглядеть правильно:
Теперь мы снова опустимся вертикально вниз, чтобы завершить правую засечку буквы T
:
Отсюда нам просто нужно закончить основу и основание буквы:
Обратите внимание, что с тем же успехом вы можете использовать полилинии для двух линий; вы получите ту же форму:
Отлично! Вы создали четыре значка.
Прежде чем двигаться дальше, я хочу обсудить еще несколько атрибутов SVG.
stroke-linejoin
и stroke-linecap
В этой статье текстовый значок выше имеет закругленные края и концы:
Но если вы скопируете и вставите разметку на своем конце, вы получите текстовый значок чьи верхний левый и верхний правый углы острые, а конечные концы (как у засечек) плоские:
Это связано с двумя связанными атрибутами SVG (и их эквивалентными свойствами CSS):
-
stroke-linejoin
: управляет скруглением углов контуров. По умолчанию установлено значениеmiter
, что означает острые углы. Вы можете использоватьround
для создания закругленных углов. -
stroke-linecap
: управляет закруглением конечных путей («шапок»), например, на концах линий или полилиний. Его значение по умолчанию —, но
, что дает вам плоские концевые концы. Если вы установите его навокруг
, вы получите закругленные клеммы.
В оставшейся части этого руководства все примеры будут использовать следующий CSS:
svg { линия обводки: круглая; штрих-лайнкап: круглый; }
Вы можете не использовать их, если не хотите. Вы также можете применять их условно к определенным элементам SVG, но не к другим, используя атрибуты вместо свойств CSS.
3. Круги
В этом разделе мы научимся рисовать эти три круглых значка SVG:
- ЧасыЗначок часов, представленный в виде круга с двумя концентрическими линиями для стрелок, указывающих в направлении 8 часов.
- ИнформацияИнформационный значок, часто используемый для обозначения дополнительной информации или уведомлений. Представлен в виде круга с концентрической строчной буквой i.
- Стрелка вправоСтрелка, указывающая вправо, с центром в круге.
Здесь нам пригодятся наши знания о полилиниях, но не хватает одной детали: кругов!
На уроке геометрии вы, наверное, узнали, что для того, чтобы нарисовать круг, вам нужны две вещи:
- Центр круга; мы назовем эту точку
(сх, су)
. - Радиус окружности, обычно обозначаемый как
r
.
То же самое и с SVG! Вот разметка для простого круга:
Я выбрал радиус 10
, чтобы оставить 2px
пространства со всех сторон круга; в противном случае, если мы выберем радиус 12
, он будет простираться до самого края SVG и будет обрезан:
В качестве альтернативы вы можете установить overflow: visible
на ваших SVG, но я предпочитаю первый метод, так как он дает моим значкам SVG немного отступов, а переполнения могут нарушить интервал в вашем CSS.
Теперь, когда мы знаем, как рисовать круги в SVG, мы можем нарисовать три иконки, показанные ранее:
Значок часов
Начнем с циферблата часов в виде круга:
Осталось нарисовать стрелки часов, для этого воспользуемся ломаной линией:
Один вниз, два вперед!
Значок информации
Как и прежде, мы сначала создадим круг:
Остальная часть информационного значка состоит из линии и кружка. Вот тело i
:
А вот и точка в i
; мы заполняем его, чтобы он был сплошным:
Обратите внимание, что радиус равен 0.5
потому что круг заполнен, и мы не хотим, чтобы он был толще корпуса i
.
Значок круга со стрелкой вправо
Последний! Для этой иконки я просто дам вам полную разметку; это круг, линия и полилиния:
Линия древка стрелы; полилиния создает наконечник стрелки. Это так просто!
4. Многоугольники
Помните, я упоминал, что
не замыкаются сами по себе? Что ж, естественным продолжением этого является форма, состоящая из того, что — это самозамыкающийся , и это
! Он работает так же, как
, за исключением того, что он автоматически создает путь между последним узлом и первым узлом, возвращаясь к тому, с чего мы начали. Хотя технически мы могли бы сделать это с
,
избавляет нас от лишнего шага, позволяя нам легко создавать такие формы, как прямоугольники, восьмиугольники, треугольники и многое другое!
Например,
позволяет нам нарисовать треугольник, используя всего три точки:
Круто! Опираясь на это, теперь мы можем создать значок индикатора предупреждения, который я показал вам в начале этого урока. Это должно быть вам знакомо, если вы помните, как мы создавали значок информации раньше:
Кстати, я упоминал выше, что мы можем использовать
для создания всех видов фигур, но некоторые из них поставляются в виде готовых форм. Например, прямоугольники можно создать с помощью
:
Но они также могут быть созданы с помощью
, который принимает координаты x
и y
для своего верхнего левого угла, а также ширину
и высоту
. Это все, что нужно для рисования прямоугольника:
Пока мы здесь, почему бы нам не нарисовать иконку календаря? Технически он создается с использованием
, о чем мы узнаем в следующем разделе. На данный момент мы можем использовать
и посмотрите, как это выглядит.
Это нормально, за исключением того, что четыре угла острые:
В то время как исходный значок имеет закругленные углы:
(Выглядит ли это лучше, зависит от личных предпочтений.)
Для этого нам нужно узнать о пути.
5. Контуры
В конце концов мы подошли к <путь>
, одному из самых мощных элементов, которые может предложить SVG. Путь может быть чем угодно — линией, окружностью, дугой и многим другим. Большинство основных фигур, которые мы видели, можно воспроизвести с помощью контуров.
Учебное пособие по <путь>
само по себе заняло бы довольно много времени, так как нужно охватить многое. Сейчас мы просто рассмотрим некоторые основы — рисование линий и дуг. Одно это может привести вас очень далеко в сочетании со всем остальным, чему мы научились.
Как создавать пути с помощью SVG
Чтобы создать
, нам нужно изучить новый синтаксис. Элемент
принимает атрибут d
(что означает определение ). Этот атрибут содержит набор низкоуровневых инструкций , которые сообщают вашему браузеру, что рисовать. Вы действительно можете думать об этом как о инструкции, подробно и последовательно описывающей каждый шаг: «Иди сюда, сделай это, затем иди сюда и сделай то и так далее и тому подобное».
Вот как может выглядеть
:
Это один из самых пугающих аспектов ручного кодирования SVG, но как только вы изучите синтаксис команд d
, все станет намного проще и менее страшно. Повесить там!
Как я уже отмечал выше, атрибут принимает список команд для рисования фигуры. Вы можете просмотреть полный список команд пути в документации MDN, но я также скопирую их сюда:
- MoveTo:
M
,м
- LineTo:
L
,l
,H
,h
,V
,v
- Кубическая кривая Безье:
C
,c
,S
,s
- Квадратичная кривая Безье:
Q
,q
,T
,t
- Кривая эллиптической дуги:
A
,a
- ClosePath:
Z
,г
Поскольку мы только начинаем, мы будем игнорировать некоторые из этих команд. Я расскажу об этих:
- MoveTo:
M
,m
- LineTo:
L
,l
,H
,h
,V
,v
- Кривая эллиптической дуги:
A
,a
- ClosePath:
Z
,Z
Команды пути SVG:
MoveTo
и LineTo
Команда <путь>
существует в двух вариантах, как вы могли заметить выше:
- Версия в верхнем регистре (например,
H
), обозначающая абсолютную команду. - Версия в нижнем регистре (например,
h
), обозначающая относительную команду.
Вот примеры этих двух:
-
M 4 4
: Браузер, пожалуйста, поднимите воображаемое перо и переместите его в точку(4, 4)
. -
h 16
: От того места, где вы сейчас находитесь, нарисуйте линию, продолжающуюся16px
вправо.
Это легче запомнить, чем кажется: M
для m овинг, H/h
для h горизонтальных линий, V/v
для v для вертикальных линий,
5 a rcs, L/l
для линий в любом направлении и так далее.
Если вы со мной до сих пор, то вы должны понять первые две команды в этом пути:
Это дает нам эту линию, простирающуюся от (4, 4)
до (20, 4)
:
. код, который это делает:
Давайте интерпретируем эти команды по одной:
-
M 8 8
: Поднимите ручку. Переместитесь на(8, 8)
в нашей системе координат24x24
. -
v 8
: Опусти ручку. Нарисуйте вертикальную линию8px
вниз и остановитесь. -
м 8 0
: Поднимите ручку. Переместите его вправо на8px
от того места, где вы сейчас находитесь. -
v -8
: Опусти ручку. Нарисуйте вертикальную линию8px
вверх и остановитесь.
Обратите внимание, как мы смешали относительные и абсолютные команды. Мы могли бы также сказать это:
И это дает нам точно такую же форму, но требует указания абсолютных координат:
С относительными командами обычно проще работать, но это действительно зависит от того, что вы рисуете.
Наконец, обратите внимание, что L/l
является более общей версией H/h
и V/v
. В то время как последние два используются для рисования линий в одном направлении (горизонтально или вертикально), L/l
можно использовать для рисования линий в любом направлении . Таким образом, он всегда принимает два числа.
Вот пример рисования диагональной линии с помощью относительной команды LineTo
:
Здесь написано: «Перейдите к (2, 2)
и проведите линию 20
единиц вправо и 20
единиц вниз».
Обратите внимание, что мы могли бы всегда используйте команду L/l
для рисования всех линий, но варианты быстрого доступа избавляют нас от необходимости печатать. Например, чтобы нарисовать горизонтальные линии с помощью l
, мы должны явно обнулить значение y
, но нам не нужно делать это с h
.
Команды пути SVG:
ClosePath
Команда Z
(или z
) означает ClosePath
. Помните, когда мы узнали о
и о том, как он автоматически закрывается? Ну, Z
— это команда, используемая для автоматического закрытия
. В отличие от других команд, которые мы рассмотрели до сих пор, версия ClosePath
в нижнем и верхнем регистре идентична, поэтому просто выберите одну и придерживайтесь ее (я буду использовать строчные буквы z
).
Например, чтобы нарисовать самозакрывающийся квадрат с <путь>
, нам нужно явно нарисовать только три из четырех линий; четвертый можно нарисовать автоматически с помощью ClosePath 9Команда 0036:
Как только вы освоитесь с этими базовыми командами движения, на самом деле очень легко использовать
— иногда это даже проще , чем использование отдельных фигур, потому что вы можете создать что угодно с помощью
, все в одном месте.
Команды пути SVG:
Кривая эллиптической дуги
Я оставил самую сложную команду напоследок, но как только вы поймете, как она работает, вы сможете создать практически любую иконку, которую захотите. К концу этого раздела мы создадим две последние иконки:
- . КалендарьЗначок календаря с прямоугольным телом и двумя параллельными вертикальными линиями вверху, с горизонтальной линией вверху
- Внешняя ссылкаЗначок, используемый для представления внешних ссылок и ресурсов. Прямоугольная форма имеет вырез в правом верхнем углу; стрелка указывает через этот пробел.
Дуги — это то, как мы рисуем изогнутых путей , и, как и все другие команды пути, они бывают как абсолютными ( A
), так и относительными ( a
) вариантами. Я настоятельно рекомендую ознакомиться с документацией MDN по команде Elliptial Arc Curve, но я также обобщу здесь все, что вам нужно знать.
Параметры дуг SVG представлены в таблице ниже:
-
rx
: X-радиус эллипса, образующего дугу. -
ry
: Y-радиус эллипса, образующего дугу. -
x-axis-rotation
: На сколько повернуть дугу относительно оси x (обычно это просто0
). -
big-arc-flag
: если1
, рисует большую дугу; в противном случае рисует маленькую. -
флаг развертки
: если1
, рисует дугу по часовой стрелке; если0
, рисует дугу против часовой стрелки.
Вы заметите, что абсолютная и относительная версии команды дуги ( A
/ a
) практически идентичны, за исключением последних двух параметров. В то время как прописная дуга
имеет абсолютные x
и y
, которые говорят вам, где заканчивается дуга, относительная дуга в нижнем регистре указывает дельта-x ( dx
) и дельта-y ( dy
). смещение относительно начального положения дуги.
Первые два параметра, rx
и ry
, должны быть вам знакомы, если вы работали с радиусами границ в CSS. Поскольку мы рисуем эллипс, а не обязательно круг, нам нужно указать два радиуса. Если наша дуга круговая, то rx = ry
.
Параметры large-arc-flag
и Sweep-flag
, вероятно, являются более запутанными из всех параметров. Вместе они используются для управления длиной и направлением дуги. Есть хорошая демонстрация Codepen, с которой вы можете повозиться, чтобы лучше понять, как работают эти параметры.
Как и прежде, полезно посмотреть на конкретный пример. Вот очень простая дуга в квадранте 1:
Это дает дугу против часовой стрелки, потому что мы установили флаг развертки
равным 0
:
И, как вы уже догадались, мы можем сцепить четыре дуги, чтобы создать круг:
(Но я думаю, вы согласитесь, что гораздо проще просто использовать
. )
Отлично! Мы знаем все, что нужно для того, чтобы нарисовать наши две иконки. Давай сделаем это!
1. Значок календаря
Я буду делать это пошагово, чтобы вы могли визуализировать процесс.
Сначала нарисуем верхнюю часть календаря (хотя вы можете начать с другого места):
Затем мы рисуем 2x2
дугу по часовой стрелке, перемещая 2px
вправо и 2px
вниз:
Оттуда идем вниз 14px
:
Нарисуйте дугу нижнего правого угла:
Сдвинуться влево на 16px
:
Нарисуйте дугу для нижнего левого угла:
Вверх 14px
:
И, наконец, замкните фигуру явной дугой, а не z
(которая нарисует линию).
И это все, что нужно знать о прямоугольнике со скругленными углами! Теперь добавим несколько строк:
Опять же, вы можете нарисовать эти линии цифрой 9.0035 <путь> , если хотите.
2. Значок внешней ссылки
Мы почти закончили!
Надеюсь, теперь вы достаточно освоились с путями SVG, чтобы интерпретировать код здесь:
Это дает нам классический значок внешней ссылки:
Стрелка должна быть вам знакома, когда мы создавали стрелку, направленную вправо; теперь это просто диагональная стрелка, указывающая вверх-вправо. Тело значка также должно быть знакомо по календарю, за исключением того, что здесь оно не закрыто и начинается в другом месте.
И это наша последняя иконка!
Для этого урока я красиво отформатировал пути SVG, чтобы их было легче читать и понимать новичкам. Но в дикой природе вы, скорее всего, столкнетесь с такими компактными обозначениями пути:
Это может показаться странным, но это все тот же синтаксис, который мы изучили. Хитрость здесь в том, что мы можем однозначно удалить пробел до и после каждой команды пути SVG (буквы). Пока мы не столкнем два последовательных числа друг с другом, мы все равно получим то же определение пути, что и раньше.
Вы можете столкнуться с этим синтаксисом, если вы экспортировали сжатый SVG из инструмента рисования, такого как Inkscape, или если вы вручную запустили его через минификатор SVG.
Теперь, когда вы научились кодировать иконки SVG вручную, я рекомендую также узнать о:
- элементах SVG
- масок SVG, которые используются для управления непрозрачностью частей SVG.
- команд кривой SVG.
Все они основаны на концепциях, с которыми вы уже знакомы.
Кодирование значков SVG вручную не так уж сложно, но, безусловно, может показаться, что это так, когда вы только начинаете. Вам предстоит выучить много нового синтаксиса, но это определенно того стоит! Теперь, когда вы проработали этот учебник, вы должны быть в состоянии читать и интерпретировать разметку SVG более уверенно и понимать, как библиотеки значков SVG, которые вы используете, действительно работают под капотом.
Этого достаточно для этого урока! Надеюсь, вы узнали что-то новое (и весело провели время!).
WPIcons — Главная
Новый
Рекомендуемые поставщики значков для использования с WPIcons Читать сообщение →
Адаптивные значки
Независимо от того, используете ли вы встроенные значки шрифтов или пользовательские значки svg, WPIcons создаст значки, которые будут выглядеть потрясающе на любом устройстве.
Блоки значков WordPress
Построенный с поддержкой блоков контента WordPress 5.0, мы включили ряд настраиваемых блоков, которые упрощают добавление и вставку значков.
Пользовательские значки SVG
Загружайте пользовательские значки .svg непосредственно в плагин. Плагин возьмет на себя всю тяжелую работу по установке иконок на ваш сайт.
Посмотреть все 40 скриншотов
Easy Setup
WPIcons будут запущены и запущены за считанные секунды. Просто установите и активируйте, и вы готовы добавлять значки на свой сайт!
Адаптивные значки
Значки, созданные с помощью WPIcons, выглядят потрясающе на любом устройстве. Иконки будут расширяться и сжиматься без любая потеря качества.
Более 490 значков в комплекте
WPIcons поставляется в комплекте с более чем 490 высококачественными адаптивными значками шрифтов, которые помогут вам начать работу.
Поддержка нескольких сайтов
WPIcons поддерживает работу с несколькими сайтами, что позволяет вам устанавливать различные наборы значков на каждом сайте в сети. Настройки также не зависят от сайта, на котором установлен плагин.
Блоки значков
Добавляйте значки к любому сообщению или странице с помощью наших настраиваемых блоков значков WordPress. Быстро и легко обновляйте значки замены внешнего вида.
Пользовательские значки SVG
Загрузите пользовательские значки .svg непосредственно в плагин. Плагин возьмет на себя всю тяжелую работу по установке иконок на ваш сайт.
Наборы значков Unlimed
Установите неограниченное количество значков в формате шрифта или svg и наборов значков с помощью WPIcons Pro — предела нет!
Индивидуальные настройки значков
Воспользуйтесь нашим встроенным средством настройки значков, чтобы придать своим значкам полностью индивидуальный вид. Меняйте цвета, добавляйте анимацию или состояния наведения, превращайте значки в ссылки… и многое другое!
Значки меню
Быстро и легко добавляйте любые значки, содержащиеся в WPIcons, к пунктам меню. Настройте свои меню, даже не касаясь кода!
Icon Services*
Подключите свой сайт к лучшим в мире поставщикам значков, чтобы получить доступ к сотням тысяч дополнительных значков .svg.
Полностью интернационализированный
WPIcons готов к переводу на ваш язык. Как всегда, переводы приветствуются!
Скачать наборы иконок
Быстро загружайте любой установленный набор значков одним нажатием кнопки, что позволяет легко перемещать наборы значков между сайтами.
Готов к работе
Тщательно протестированный и созданный с учетом скорости, WPIcons отлично работает на всех сайтах; от большого к маленькому и все между ними.
Сделано для WordPress
WPIcons и похоже на WordPress; бесшовно интегрируется. Он живет на вашем веб-сайте (а не на чьем-то еще), поэтому у вас есть полный контроль.
Расширенная документация
У нас есть вся необходимая документация, которая поможет вам быстро приступить к работе. Столкнулись с проблемами? Мы вас прикрыли!
Удобен для разработчиков
WPIcons обладает широкими возможностями расширения благодаря множеству хуков для добавления пользовательских функций и функций.
Непревзойденная поддержка
Наша служба поддержки быстро реагирует на проблемы, быстро исправляет ошибки и всегда готова помочь с индивидуальными потребностями.
Нравятся иконки, используемые на этом сайте?
Проверьте Roundicons и загрузите их прямо в WPIcons.
Мы всегда стремимся к большему количеству услуг. Следите за новыми в будущем.
1. Лицензирование подключаемых модулей
WPIcons и все надстройки, если не указано иное, лицензируются в соответствии со Стандартной общественной лицензией GNU (http://www.gnu.org/licenses/gpl.html) версии 2.0 или более поздней.
2. Гарантия
Плагины, продаваемые и распространяемые Code Parrots, делаются с надеждой, что они будут полезны, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.
Поскольку WordPress работает правильно при чистой установке самого себя, WPIcons гарантированно будет работать при чистой установке минимальной, стабильной и необходимой версии WordPress для WPIcons и надстроек. Поскольку количество и разнообразие плагинов огромно и разнообразно, мы не гарантируем, что плагин будет работать со всеми сторонними плагинами, темами или браузерами любого типа. Мы не берем на себя ответственность и не будем нести ответственность за любые конфликты или проблемы совместимости, которые могут возникнуть из-за стороннего программного обеспечения. Мы не несем ответственности за потерю данных в результате установки или использования WPIcons. В случае возникновения конфликтов со сторонним программным обеспечением мы можем предоставить поддержку по своему усмотрению. Кроме того, мы не несем ответственности и не будем нести ответственность за любые личные потери, ущерб сайту, ошибки сайта, кражу, мошенничество, упущенную выгоду или доход, потерю бизнеса или возможностей, или потерю клиентов или клиентов в результате установки или с помощью WPIcons.
3. Поддержка
Code Parrots продает и распространяет WPIcons и другие плагины «как есть» и не подразумевает, что они будут работать именно так, как вам хотелось бы, или что они будут совместимы со всеми сторонними компонентами и плагинами.
Поддержка подключаемых модулей, продаваемых и распространяемых Code Parrots, доступна только для тех, у кого есть действующая платная лицензия.
Поддержка и обновления предоставляются в течение одного года после первоначальной покупки на основании приобретенной лицензии. По истечении одного года покупатель должен продлить свою лицензию, чтобы продолжать получать поддержку и обновления для приобретенных продуктов. Для покупок, включающих автоматически продлеваемую подписку, поддержка будет предоставляться до тех пор, пока подписка остается активной. Исключением является лицензия Ultimate, за которую в момент покупки взимается единовременная плата в размере опубликованной цены лицензии Ultimate. Окончательные лицензии не нужно продлевать, они считаются «пожизненными» и предоставляют владельцу лицензии поддержку и обновления в течение «пожизненного срока», в течение которого покупатель использует WPIcons.
Поддержка и обновления для WPIcons предоставляются до тех пор, пока WPIcons находится в активной разработке. Если произойдет одно из следующих событий, Code Parrots больше не будет нести ответственность за поддержку WPIcons:
- WPIcons больше не разрабатывается как жизнеспособный продукт в рамках Code Parrots.
- WPIcons или материнская компания куплена или выкуплена другой компанией.
- WordPress больше не находится в активной разработке.
Несмотря на то, что мы пытаемся обеспечить наилучшую возможную поддержку для наших подключаемых модулей, мы не гарантируем, что какой-либо конкретный запрос в службу поддержки может быть или будет дан ответ в той степени или в течение периода времени, когда запрашивающий будет полностью удовлетворен.
4. Подписки и автоматическое продление
WPIcons продаются в виде автоматически повторяющейся подписки, которая продлевается каждый год в годовщину даты покупки. Это относится к уровням лицензии Personal, Plus и Professional.
Эта подписка будет автоматически продлена в конце годового срока действия лицензии, если только покупатель не отменит свою подписку до даты автоматического продления.
Обратите внимание на следующие сведения о подписках на лицензии WPIcons (Personal, Plus, Professional):
- Продление подписки выполняется автоматически ежегодно в годовщину вашей первоначальной покупки. Продление лицензии будет продолжаться и оставаться в силе каждый 1 (один) год, если подписка не будет отменена 90 749 до 90 750 до даты продления.
- Вы можете отменить подписку в любое время со страницы своей учетной записи на веб-сайте WPIcons.
- Если вы решите отменить подписку, вы больше не будете получать обновления и поддержку WPIcons по истечении срока действия лицензии.
- Цена продления будет равна полной цене плагина, опубликованной на момент первоначальной покупки, без учета каких-либо скидок.
- Устаревшая цена : Если вы решите отменить подписку, а цена продления ниже текущей указанной цены для вашей лицензии («устаревшая» цена), более низкая цена продления больше не будет вам доступна.
- Если вы решите продлить подписку после того, как она была отменена и срок действия вашей лицензии истек, с вас будет взиматься текущая указанная цена за вашу лицензию. Мы не можем применить старые или устаревшие цены к вашей новой покупке продления.
- Мы не можем возмещать платежи за продление (только для подписок Personal, Plus, Professional). Мы отправим вам электронное письмо за 2 недели до даты продления, и вы можете использовать эту возможность, чтобы отменить подписку до того, как платеж за продление будет обработан автоматически.
- Если вы решите отменить подписку, срок действия вашей лицензии истечет в годовщину первоначальной покупки, и вы больше не будете получать обновления и поддержку WPIcons.
Исключением из этого соглашения о подписке является лицензия Ultimate, которая представляет собой единовременную плату в размере опубликованной цены лицензии Ultimate на момент покупки. Лицензии Ultimate не нужно продлевать, они считаются «пожизненными».
5. Использование лицензии
WPIcons предоставляет каждому клиенту непередаваемую лицензию на использование программного обеспечения для внутреннего использования в соответствии с условиями, установленными в выбранном клиентом пакете лицензий (Personal, Plus, Professional, Ultimate).
Если лицензионный пакет позволяет использовать программное обеспечение на нескольких сайтах (Plus, Professional, Ultimate), покупатель/владелец лицензии не может продавать первоначально приобретенный лицензионный ключ, предоставленный Code Parrots, другим пользователям лицензии ( таких как клиенты) в коммерческих целях. Кроме того, заказчик не может сублицензировать какому-либо физическому или юридическому лицу какие-либо права на распространение программного обеспечения или лицензионного ключа. WPIcons будет предоставлять услуги поддержки только первоначальному клиенту / владельцу лицензии с законным лицензионным ключом и рассматривать любое другое использование этого лицензионного ключа для запросов поддержки как мошенническое.
6. Автоматические обновления
Автоматические обновления доступны владельцам лицензий, у которых есть активная и действующая подписка и лицензионный ключ. Автоматические обновления доступны для WPIcons и всех других установленных надстроек WPIcons. Автоматические обновления доступны до тех пор, пока лицензионный ключ, сгенерированный при покупке, действителен и активен.
7. Доставка плагина
После того, как мы успешно обработаем ваш платеж, вы получите электронное письмо с номером вашего заказа и другой информацией о покупке. Ваш лицензионный ключ доступен в вашей учетной записи вместе с вашими загружаемыми плагинами. Вы можете скачать плагин, войдя в учетную запись, созданную для вас при покупке плагина, и нажав на соответствующую ссылку.
Если вы не получили электронное письмо с вашей информацией, вы можете связаться с нами через https://www.wpicons.com/support, чтобы запросить информацию о покупке.
Доступ к повторной загрузке купленных файлов будет предоставлен до тех пор, пока ваш лицензионный ключ действителен. Если срок действия лицензионного ключа истек, доступ к загрузке связанных файлов будет прекращен до тех пор, пока лицензионный ключ не будет обновлен.
8. Право собственности
Все плагины являются собственностью Code Parrots. Категорически запрещается претендовать на какие-либо интеллектуальные или исключительные права собственности на наши продукты.
Наши плагины предоставляются «как есть» без каких-либо явных или подразумеваемых гарантий. Мы не несем ответственности за любые убытки, включая, помимо прочего, прямые, непрямые, особые, случайные или косвенные убытки или убытки, возникшие в результате использования или невозможности использования наших плагинов.
9. Содержание веб-сайта и плагина
Весь контент, найденный на этом сайте и в плагине, включая изображения, документацию, запросы в службу поддержки и любую другую информацию, является собственностью Code Parrots и не может распространяться без разрешения или согласия.
10. Изменения цен
Code Parrots оставляет за собой право изменять, изменять, отменять или обновлять подписку на плагин и/или лицензионный ключ без предварительного уведомления или согласия. Цены на все продукты могут быть изменены без предварительного уведомления или согласия.
11. Политика возврата средств
Мы твердо верим в наш продукт и поддерживаем его на 100%, но мы понимаем, что он не может работать идеально для всех все время. Если вы хотите запросить возврат средств, откройте заявку в службу поддержки «Запрос на возврат». При запросе возврата мы почтительно просим вас выполнить следующие условия политики возврата:
Условия приемлемости для запроса на возврат:
- Вы находитесь в течение первых 30 дней с момента первоначальной покупки плагина.
- Мы не можем предоставить возмещение по истечении первых 30 дней с момента первоначальной покупки.
- Мы не можем возмещать платежи за продление (только для подписок Personal, Plus, Professional). Мы отправим вам электронное письмо за 2 недели до даты продления, и вы можете воспользоваться этой возможностью, чтобы отменить подписку до того, как платеж за продление будет обработан автоматически.
- Причина, по которой вы запрашиваете возмещение, может быть одной из следующих:
- Вы приобрели плагин/подписку и после установки и тестирования плагина обнаружили, что он не подходит для вашего бизнеса или требует настройки.
- У вас есть проблема, которую мы не можем решить, что делает систему непригодной для использования. Мы можем задать вам вопросы о характере вашего запроса на возмещение, чтобы мы могли улучшить плагин в будущем.
- Если ваша проблема возникает из-за того, что вы не можете правильно установить подключаемый модуль или заставить его выполнять свои основные функции, мы с радостью рассмотрим ваш запрос на возврат средств.
- Вы связались с нашей службой поддержки и разрешили нам решить вашу проблему или объяснили, почему плагин не будет работать для вас.
- Обратите внимание, что технические проблемы, вызванные сторонними плагинами, темами или другим программным обеспечением, не являются основанием для возврата средств.
- Вы соглашаетесь деактивировать и удалить плагин с вашего сайта, если будет предоставлено возмещение.
Возмещение будет предложено по нашему собственному усмотрению. Приобретая плагин(ы) на нашем сайте, вы соглашаетесь с этой политикой возврата средств и отказываетесь от любых прав на любые вопросы, суждения или судебные иски. Мы не обязаны покрывать разницу в обменных курсах между моментом покупки и моментом возврата средств.
12. Электронная почта
Code Parrots может время от времени отправлять вам электронные письма, связанные с покупкой продуктов в нашей компании. Мы также можем время от времени отправлять вам информационные бюллетени по электронной почте, касающиеся обновлений WPIcons, рекламных акций, надстроек WPIcons и тому подобного. Мы никогда не будем продавать или передавать вашу электронную почту каким-либо сторонним поставщикам. Вы можете отказаться от этих электронных писем в любое время без каких-либо штрафных санкций.
13. Лицензионное соглашение
Приобретая наш продукт(ы), вы подтверждаете, что прочитали и согласны с Условиями и положениями, перечисленными и подробно описанными на этой странице. Мы оставляем за собой право изменять или модифицировать текущие положения и условия без предварительного уведомления или согласия.
14. Делимость
Если какая-либо часть настоящего соглашения будет объявлена не имеющей исковой силы или недействительной, все остальные пункты этого соглашения останутся обязательными для клиента.
Максимальная
- $ 99 купить сейчас одноразовый платеж
- Включены все основные функции
- Сервисы иконок 907:50
- ПЛЮС все будущие службы значков сторонних производителей
- Пожизненные обновления плагинов
- Пожизненная поддержка по электронной почте
- 10 участков
Самый популярный
Плюс
- $ 39 купить сейчас в год
- Включены все основные функции 907:50
- Сервисы иконок
- ПЛЮС все будущие службы значков сторонних производителей
- Обновления плагинов *
- Поддержка по электронной почте *
- 3 площадки
Личный
- $ 29 купить сейчас в год
- Включены все основные функции 907:50
- Обновления плагинов *
- Поддержка по электронной почте *
- 1 место
- Примечание: Службы Icon не включены
* Обновления подключаемых модулей (включая службы значков, которые будут выпущены в будущем) и поддержка по электронной почте предоставляются в течение срока действия вашей текущей подписки.
Примечание. Доступ к пакетным службам значков предоставляется только обладателям лицензий Plus и Ultimate.
Все покупки регулируются нашими условиями использования.
Службы сторонних значков доступны только обладателям лицензий Plus или Ultimate . Владельцы лицензий WPIcons Pro Plus и Ultimate также получат любые дополнительные подключения к сервису значков, которые мы выпустим в будущем.
Простая настройка
WPIcons будут запущены и запущены через несколько секунд. Просто установите и активируйте, и вы готовы добавлять значки на свой сайт!
Адаптивные значки
Значки, созданные с помощью WPIcons, выглядят потрясающе на любом устройстве. Иконки будут расширяться и сжиматься без любая потеря качества.
Более 490 значков в комплекте
WPIcons поставляется в комплекте с более чем 490 высококачественными адаптивными значками шрифтов, которые помогут вам начать работу.
Поддержка нескольких сайтов
WPIcons поддерживает работу с несколькими сайтами, что позволяет вам устанавливать различные наборы значков на каждом сайте в сети. Настройки также не зависят от сайта, на котором установлен плагин.
Блоки значков
Добавляйте значки к любому сообщению или странице с помощью наших настраиваемых блоков значков WordPress. Быстро и легко обновляйте значки замены внешнего вида.
Пользовательские значки SVG
Загрузите пользовательские значки .svg непосредственно в плагин. Плагин возьмет на себя всю тяжелую работу по установке иконок на ваш сайт.
Наборы значков Unlimed
Установите неограниченное количество значков в формате шрифта или svg и наборов значков с помощью WPIcons Pro — предела нет!
Индивидуальные настройки значков
Воспользуйтесь нашим встроенным средством настройки значков, чтобы придать своим значкам полностью индивидуальный вид. Меняйте цвета, добавляйте анимацию или состояния наведения, превращайте значки в ссылки… и многое другое!
Значки меню
Быстро и легко добавляйте любые значки, содержащиеся в WPIcons, к пунктам меню. Настройте свои меню, даже не касаясь кода!
Icon Services*
Подключите свой сайт к лучшим в мире поставщикам значков, чтобы получить доступ к сотням тысяч дополнительных значков .svg.
Полностью интернационализированный
WPIcons готов к переводу на ваш язык. Как всегда, переводы приветствуются!
Скачать наборы иконок
Быстро загружайте любой установленный набор значков одним нажатием кнопки, что позволяет легко перемещать наборы значков между сайтами.
Готов к работе
Тщательно протестированный и созданный с учетом скорости, WPIcons отлично работает на всех сайтах; от большого к маленькому и все между ними.
Сделано для WordPress
WPIcons и похоже на WordPress; бесшовно интегрируется. Он живет на вашем веб-сайте (а не на чьем-то еще), поэтому у вас есть полный контроль.
Расширенная документация
У нас есть вся необходимая документация, которая поможет вам быстро приступить к работе. Столкнулись с проблемами? Мы вас прикрыли!
Удобен для разработчиков
WPIcons обладает широкими возможностями расширения благодаря множеству хуков для добавления пользовательских функций и функций.
Непревзойденная поддержка
Наша служба поддержки быстро реагирует на проблемы, быстро исправляет ошибки и всегда готова помочь с индивидуальными потребностями.
Службы Icon доступны только для Plus или Ultimate владельцев лицензий. Эти держатели лицензий также получат любые дополнительные соединения службы значков, которые мы выпустим в будущем.
Иконфайндер
Об Iconfinder
Iconfinder предоставляет высококачественные значки миллионам творческих профессионалов. Мы небольшая международная команда, базирующаяся в прекрасном городе Копенгагене, некоторые из нас работают удаленно. Вместе с увлеченным сообществом дизайнеров иконок мы создаем самый популярный в мире сайт иконок.
— Иконфайндер
Иконки8
О Icons8
Icons8 позволяет дизайнерам выражать свои идеи, давая право на проектирование элементов в нужное время.
— Иконки8
Проект «Существительное»
О проекте Noun
Создание, совместное использование и прославление визуального языка мира.
— Проект существительного
Что говорят наши клиенты
WPIиконки
JacobWolf
★★★★★
Плагин WPIcons может быть лучшим, что когда-либо было в Интернете. SVG — это заноза в заднице, но она работает гладко.
WPIиконки
Валенки
★★★★★
Очень полезный плагин и отличная поддержка! Удивительная функциональность, которая действительно облегчает мою жизнь как веб-дизайнера. Это программное обеспечение просто потрясающе!
Всем очень рекомендую!
WPIиконки
Konehead
★★★★★
Плагин WordPress Icons SVG идеально подходит для добавления SVG-графики на ваш сайт WordPress.