Font Awesome и Общедоступность
Как сделать иконки общедоступными самомуКогда используете иконки в вашем интерфейсе, то данный мануал подскажет вам как помочь вспомогательным технологиям проигнорировать или лучше понять Font Awesome.
Иконки, используемые для декорирования или визуального стиля
Если иконка используется для декорирования или отображения бренда, то они не должны быть объявлены общедоступно, тк
они влияют на приложения, читающие сайты в слух. Кроме того, если вы используете иконки, чтобы визуально подчеркнуть
или добавить стиль контенту, то в существующем HTML они не должны быть продублированы в описании для вспомогательных
технологий, используемых пользователем. Вы можете убедиться в том, что элемент не читается, добавив ему атрибут aria-hidden="true"
.
<i aria-hidden="true"></i>
иконка используется для простого декорированияиконка используется как логотип<h2> <i aria-hidden="true"></i> Pied Piper, A Middle-Out Compression Solution Making Data Storage Problems Smaller </h2>
<a href="https://github. com/FortAwesome/Font-Awesome"><i aria-hidden="true"></i> View this project's code on Github</a>
иконка используется перед текстом ссылкиИконки с семантической или интерактивной целью
Если вы используете иконку для того, чтобы передать смысл (а не только в качестве декоративного элемента), убедитесь, что значение иконки также передается вспомогательным технологиям. Это касается контента, который вы сокращаете с помощью иконок, а также интерактивных элементовуправления (кнопки, элементы форм, переключатели и тд). Есть несколько способов для выполнения этой задачи:
Если иконка
не является интерактивным элементом The simplest way to provide a text alternative is to use the aria-hidden="true"
attribute on the icon and to include the text with an additional element, such as a <span>
, with appropriate CSS to visually hide the element while keeping it accessible to assistive technologies. In addition, you can add a title
<dl>
<dt>
<i aria-hidden="true" title="Time to destination by car"></i>
<span>Time to destination by car:</span>
</dt>
<dd>4 minutes</dd>
<dt>
<i aria-hidden="true" title="Time to destination by bike"></i>
<span>Time to destination by bike:</span>
</dt>
<dd>12 minutes</dd>
</dl>
an icon being used to communicate travel methodsan icon being used to denote time remaining<i aria-hidden="true" title="60 minutes remain in your exam"></i> <span>60 minutes remain in your exam</span> <i aria-hidden="true" title="30 minutes remain in your exam"></i> <span>30 minutes remain in your exam</span> <i aria-hidden="true" title="0 minutes remain in your exam"></i> <span>0 minutes remain in your exam</span>
If an icon represents an interactive element
In the case of focusable interactive elements, there are various options to include an alternative text or label to the element, without the need for any visually hidden <span>
or similar.
aria-label
attribute with a text description to the interactive element itself will be sufficient to provide an accessible alternative name for the element. If you need to provide a visual tooltip on mouseover/focus, we recommend additionally using the title
attribute or a custom tooltip solution.<a href="path/to/shopping/cart" aria-label="View 3 items in your shopping cart">
<i aria-hidden="true"></i>
</a>
an icon being used to communicate shopping cart statean icon being used as a link to a navigation menu<a href="#navigation-main" aria-label="Skip to main navigation"> <i aria-hidden="true"></i> </a>
<a href="path/to/settings" aria-label="Delete">
<i aria-hidden="true" title="Delete this item?"></i>
</a>
an icon being used as a delete button’s symbol with a title
attribute to provide a native mouse tooltipШрифтовые иконки — достойная альтернатива растру
Чем иконочный шрифт лучше иконок jpg/png
Масштабируемость без потери качества. Никто не ищет буквы побольше для заголовков и буквы поменьше для текста. Ты просто подключаешь шрифт и в css указываешь размер букв. Тоже самое с иконочным шрифтом. Иконку можно сделать любого размера и она всегда будет чёткой.
Иконочный шрифт это прежде всего шрифт и следовательно к таким иконкам применяются все css свойства, которые можно применить к тексту. Для изменения цвета иконки не нужен графический редактор. Просто поменяй цвет в css. Кстати псевдо классы типа :hover тоже срабатывают, что даёт ещё больший простор для творчества.
Как подключить иконочный шрифт fontawesome
Где брать иконочные шрифты? Поиск выдаст кучу результатов разной степени платности и универсальности. Рассмотрим два fontello.com и fontawesome.ru
Начнём с бесплатного шрифта с хорошим описанием на русском — fontawesome.ru. Первым делом качаешь и распаковываешь архив. Копируешь папку font-awesome в папку с сайтом. Дальше нужно подключить… Думаешь шрифт? Нет. Подключаеш css файл font-awesome.
<link rel="stylesheet" href="путь/до/font-awesome/css/font-awesome.min.css">
Иконки fontawesome вставляются следующим образом. Там где должна быть иконка вставляешь строчный элемент, например <i> или <span> и добавляешь к нему класс fa и соответствующий иконке класс. Проще сделать следующим образом. На сайте fontawesome.ru переходишь в меню Иконки и кликаешь по нужной иконке. Попадаешь на страницу где можно скопировать код, который нужно разместить там, где будет иконка. Так выглядит код для Телеграм.
<i aria-hidden="true"></i>
Просто выводом иконок дело не ограничивается. Добавляя классы можно анимировать, изменять размер, поворачивать иконки. Полный список возможностей с подробным описанием и примерами смотри на fontawesome.ru/examples/ .
Ещё один сайт где можно на халяву хапнуть шрифтовых иконок — fontello.com. Он отличается от fontawesome.ru тем, что можно создать свой набор иконок, а не тянуть все, большая часть которых не пригодиться. Чтобы создать свой набор заходишь на fontello.com. На вкладке Select Icons кликаеш по нужным иконкам. Рядом с красной кнопкой Download пишешь название шрифта и скачиваешь свой иконочный шрифт.
Иконки с fontello вставляются также через добавление класса к строковому элементу. Название классов смотри в файле demo.html(должен быть в скачанном архиве с шрифтом). Дефолтные названия классов можно изменить на вкладке Customize Names.
Иконочные шрифты или SVG — что выбрать в 2018? – База знаний Timeweb Community
Графические иконки — ключевой элемент практически любого сайта или приложения. Как правило, весят они немного, однако вопрос выбора формата все равно остается актуальным. Если не брать в расчет стандартные форматы изображений, у разработчиков есть два основных варианта: использовать SVG либо иконочные шрифты (icon fonts). Что лучше? Разберемся ниже.
Эволюция иконок
Перед тем, как появился язык стилей CSS, все иконки на сайтах представляли собой изображения. Но так как файлы изображений много весят, разработчики стремились найти один или несколько альтернативных способов отображения маленьких иконок. Например, CSS-спрайты позволили разработчикам хранить все иконки на одном изображении, но из-за проблем с доступностью этот способ не стал популярным способом отображения иконок — и в 2012 на смену им пришли иконочные шрифты. А сейчас многие разработчики отдают предпочтение масштабируемой векторной графике — SVG (Scalable Vector Graphics).
Что такое иконочные шрифты
Иконочные шрифты — текстовые файлы, которые можно модифицировать при помощи CSS. Как следствие, масштабируются они гораздо лучше, чем растровые изображения, т.к. изменение размера не ведет к ухудшению качества изображения. Изменение цвета или добавление тени — все это сделать так же легко, как и при работе с обычным текстом. В сети можно легко найти бесплатные для использования шрифты либо можно создать свой собственный шрифт. К минусам можно отнести то, что большинство наборов со шрифтами содержат иконки, которые вы, скорее всего, не будете использовать — и они будут просто занимать место.
Но, как и у CSS-спрайтов, иконочные шрифты имеют свои недостатки — например, для того, чтобы корректно их отобразить, браузеру приходится делать дополнительные запросы на сервер, что может привести к FOIT (Flash of Invisible Text) — ситуации, когда шрифт не отображается вообще. По этой и другим причинам многие разработчики делают выбор в пользу SVG.
Что такое SVG
SVG (Scalable Vector Graphics) позволяет отображать в браузере векторную графику. Формат SVG быстро стал новым стандартом для иконок и анимации. Они быстрее загружаются, прекрасно масштабируются и более надежные в использовании, чем иконочные шрифты. Векторная графика полностью стоит из кода и весит гораздо меньше, чем изображения в форматах JPG или PNG и большинство библиотек иконочных шрифтов.
Сравнение
Настало время сравнить SVG и иконочные шрифты по нескольким параметрам.
1. Размер
Если использовать встроенный SVG, то есть прописывать SVG в CSS, то код может стать тяжелым и громоздким. К тому же встроенный SVG код не кэшируется пользовательскими браузерами, в отличие от внешних SVG файлов. Поэтому если на определенной странице сайта много разных иконок, то иконочные шрифты будут предпочтительнее встроенных SVG изображений (но при условии, что вы не используете готовую библиотеку иконочных шрифтов).
Важно понимать, что 10 оптимизированных SVG иконок, скорее всего, будут весить меньше, чем целая библиотека иконочных шрифтов. А вот если вы создадите библиотеку только с теми иконками, которые нужны вам, то такая библиотека будет выигрывать по весу.
2. Производительность
Иконочные шрифты могут кэшироваться, а значит, они загружаются быстрее. В то же время для их загрузки нужен дополнительный HTTP-запрос.
Встроенные SVG иконки не требуют дополнительного запроса, но и кэшироваться браузером они тоже не могут.
Можно собрать SVG файлы в отдельный внешний файл — и тогда его можно будет кэшировать.
Опять же, производительность во многом зависит от того, сколько весят ваши иконочные шрифты/SVG.
3. Гибкость
Оба формата можно настраивать с использованием CSS, но SVG дает гораздо больше возможностей, например, сделать иконки разноцветными.
Иконочным шрифтам можно прописывать CSS-стили (тень, цвет и т.д.), их можно массово изменять при помощи одного правила в CSS, их можно анимировать.
4. Поддержка браузеров
Какой бы формат вы ни выбрали, его все равно нужно будет дорабатывать для того, чтобы обеспечить поддержку старых браузеров. Т.к. иконочные шрифты существуют дольше, чем SVG, то и поддержка у них шире — их увидят все, кто использует IE 6 и более новые версии.
С другой стороны, сейчас подавляющее большинство пользователей использует современные браузеры, так что на этот пункт сильного внимания обращать не стоит. Единственный нюанс, о котором стоит помнить — IE и Edge не всегда правильно масштабируют SVG файлы.
5. Масштабируемость
И иконочные шрифты, и SVG — это векторные форматы. Поэтому их можно легко увеличивать или уменьшать без потери качества. Браузеры интерпретируют иконочные шрифты как текст, поэтому они могут сглаживаться — и при сравнении SVG изображения выглядят чуть более резкими, чем иконочные шрифты.
Вывод
До сих пор в среде разработчиков нет единого мнения о том, что лучше использовать — иконочные шрифты или SVG. Суть в том, что зачастую многое зависит от поставленных задач и проекта в целом.
Но все же сейчас чаще всего используют SVG — у этого языка разметки лучше масштабируемость, UX (пользовательский опыт), и он поддерживается всеми основными браузерами. Существует мнение, что один из трендов 2018 года — это уход от иконочных шрифтов к иконкам в формате SVG.
В то же время иконочные шрифты станут хорошим решением для проекта с большим количеством иконок в одном стиле.
А что вы используете в разработке, SVG или иконочные шрифты?
Веб-шрифты, шрифтовые иконки и спецсимволы
Иконочные шрифты
fontawesome. com — Font Awesome 5. Более 1500 бесплатных иконок, подключение через CDN, также есть возможность скачать файлы шрифта на диск
fontawesome.ru — Font Awesome иконочный шрифт и CSS-инструментарий
fontello.com — Онлайн-сервис для подбора иконок из множества иконочных шрифтов, также с помошью этого инструмента можно создавать свои шрифтовые иконки из изображений в формате SVG
icomoon.io — Большой набор качественных SVG-иконок, на сайте можно создать свой набор и иконок конвертировать набор в иконочный шрифт, шрифт можно скачать или подключbть в проекте с помощью URL
iconify.design — Этот сервис позволяет подключить к проекту иконки из множества наборов с помощью одного скрипта и используя один синтаксис. Iconify включает более 40 000 иконок из популярных шрифтов и наборов смайликов: Font Awesome 4 и 5, Material Design Icons, IonIcons, Vaadin Icons, Entypo + и многие другие
material.io/resources/icons — Большая коллекция красивых иконок от Google для веб-проектов и приложений Android, iOS. Иконочный шрифт подключается с помощью URL или можно скачать шрифт и подключать локально, также можно скачать SVG и PNG версии иконок
hostenko.com — В этом посте мы отобрали 27 бесплатных наборов шрифтовых иконок. Просто переходите по ссылке понравившегося набора, загружайте и добавляйте на свой сайт WordPress
Веб-шрифты
fonts.google.com — Генератор веб-шрифтов Google
fontstorage.com — Скачать бесплатно шрифты для сайта, фотошопа, Windows или Mac OS
Спецсимволы
html5book.ru — Спецсимволы HTML (символы-мнемоники) — стрелки, смайлики, крестики, галочки, звезды, математические символы и многое другое
htmlbook.ru — Для отображения символов, которых нет на клавиатуре, применяются специальные знаки, начинающиеся с амперсанда (&) и заканчивающиеся точкой с запятой (;). В таблице приведены некоторые популярные спецсимволы
unicode-table.com — Сервис поиска символов в формате Юникод (Unicode)
Калькулятор для конвертации HTML-кода в CSS-код для использования в свойстве content (content:’260E’)
React-компонент Icon — Material-UI
Руководство и рекомендации по использованию иконок в Material-UI.
Системная иконка, или иконка UI, обозначает команду, файл, устройство или каталог. Системные иконки также используются для представления частых операций, таких как удаление, печать или сохранение, и обычно размещаются в списках, на кнопках, панелях приложений и инструментов. Google предоставляет набор иконок Material, соответствующих рекомендациям.
Material-UI предоставляет два компонента для отображения системных иконок: SvgIcon
используется с форматом SVG, а Icon
– с иконочными шрифтами.
SVG Иконки
Компонент SvgIcon
принимает в качестве дочернего элемент path
SVG и преобразует его в компонент React, который отображает SVG-путь и позволяет настроить стиль иконки и её реакцию на события мыши. Элементы SVG должны быть отмасштабированы для области просмотра размером 24x24px.
Полученный значок можно либо использовать сразу, либо включить его в качестве дочернего в другие компоненты Material-UI, которые используют иконки. По умолчанию иконка наследует текущий цвет текста. При желании вы можете установить цвет иконки с помощью одного из свойств цвета темы: primary
, secondary
, action
, error
или disabled
.
SVG-иконки Material
Составные части для создания собственных иконок – это интересно, но как насчет готовых вариантов? Мы предоставляем отдельный npm-пакет @material-ui/icons, который содержит более 1000 официальных иконок Material, преобразованных в компоненты SvgIcon
.
Использование
Найти конкретную иконку можно на сайте Material: material.io/tools/icons. При импорте имейте в виду, что для названий иконок используется написание PascalCase
, например:
delete
представлена как@material-ui/icons/Delete
delete forever
представлена как@material-ui/icons/DeleteForever
For *»themed»* icons, append the theme name to the icon name. For instance with the
- Иконка
delete
в теме Outlined представлена как@material-ui/icons/DeleteOutlined
- Иконка
delete
в теме Rounded представлена как@material-ui/icons/DeleteRounded
- Иконка
delete
в теме Two Tone представлена как@material-ui/icons/DeleteTwoTone
- Иконка
delete
в теме Sharp представлена как@material-ui/icons/DeleteSharp
Из данного правила существует три исключения:
3d_rotation
представлена как@material-ui/icons/ThreeDRotation
4k
представлена как@material-ui/icons/FourK
4k
представлена как@material-ui/icons/FourK
{{«Демо»: «pages/components/icons/SvgMaterialIcons.js»}}
Импорт
- Если ваша среда не поддерживает tree-shaking, рекомендуется импортировать иконки следующим образом:
import AccessAlarmIcon from '@material-ui/icons/AccessAlarm';
import ThreeDRotation from '@material-ui/icons/ThreeDRotation';
- Если же у вас настроено tree-shaking, импорт иконок можно осуществлять так:
import { AccessAlarm, ThreeDRotation } from '@material-ui/icons';
Примечание: такой способ импорта именованных экспортов приведет к тому, что каждая иконка будет включена в проект, поэтому не рекомендуется его использовать без настройки tree-shaking. Кроме того, это может повлиять на производительность горячей замены модулей.
Больше SVG-иконок
Нужно еще больше SVG-иконок? Проектов существует множество, но, например, https://materialdesignicons.com предоставляет более 2000 иконок, как официальных, так и созданных сообществом. mdi-material-ui запаковывает эти иконки в виде компонентов Material-UI SvgIcons таким же образом, как @material-ui/icons делает это для официальных иконок.
Иконочный шрифт
Компонент Icon
отображает иконку из любого иконочного шрифта с поддержкой лигатур. Предварительно необходимо включить в проект шрифт, такой как Material icon font, с помощью, например, Google Web Fonts:
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
Icon
will set the correct class name for the Material icon font. For other fonts, you must supply the class name using the Icon component’s className
property.
Чтобы использовать иконку, просто оберните её имя (лигатуру шрифта) в компонент Icon
, например:
import Icon from '@material-ui/core/Icon';
<Icon>star</Icon>
По умолчанию иконка наследует текущий цвет текста. При желании вы можете установить цвет иконки с помощью одного из свойств цвета темы: primary
, secondary
, action
, error
или disabled
.
Шрифтовые иконки Material
add_circleadd_circleadd_circleadd_circleadd_circleadd_circle
Font Awesome
Font Awesome можно использовать с компонентом Icon
следующим образом:
Font vs SVG. Which approach to use?
Оба подхода работают нормально, однако есть некоторые тонкие различия, особенно с точки зрения производительности и качества отрисовки. Когда это возможно, использование SVG является более предпочтительным, так как в этом случае есть возможность разделения кода, поддерживается больше иконок, отрисовка происходит лучше и быстрее.
For more details, you can check out why GitHub migrated from font icons to SVG icons.
Доступность
Иконки могут передавать всевозможную значимую информацию, поэтому важно, чтобы они охватывали максимально возможное количество людей. There are two use cases you’ll want to consider:
- Decorative Icons are only being used for visual or branding reinforcement. Если удалить их со страницы, пользователи всё равно смогут её использовать, им всё будет понятно.
- Семантические иконки – это те, которые используются для передачи смысла, а не только для украшения. В данную группу входят иконки без текста, используемые в качестве интерактивных элементов управления – кнопки, элементы форм, переключатели, и так далее.
Декоративные SVG-иконки
If your icons are purely decorative, you’re already done! We add the aria-hidden=true
attribute so that your icons are properly accessible (invisible).
Семантические SVG-иконки
Если у вашей иконки есть семантическое значение, необходимо только добавить свойство titleAccess="значение"
. Для правильной настройки доступности добавим атрибут role="img"
и элемент <title>
.
В случае фокусируемых интерактивных элементов, например, кнопки с иконкой, можно использовать свойство aria-label
:
import IconButton from '@material-ui/core/IconButton';
import SvgIcon from '@material-ui/core/SvgIcon';
<IconButton aria-label="delete">
<SvgIcon>
<path d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z" />
</SvgIcon>
</IconButton>
Декоративные шрифтовые иконки
If your icons are purely decorative, you’re already done! We add the aria-hidden=true
attribute so that your icons are properly accessible (invisible).
Семантические шрифтовые иконки
Если у ваших иконок есть семантическое значение, необходимо предоставить текстовую альтернативу, видимую только для вспомогательных технологий.
import Icon from '@material-ui/core/Icon';
import Typography from '@material-ui/core/Typography';
<Icon>add_circle</Icon>
<Typography variant="srOnly">Создать пользователя</Typography>
Справка
[IconTV] Новый тип TV с иконками / Русскоязычное сообщество MODX
Здравствуйте, прошло больше года когда, зародился на свет IconTVСкачать в Modstore бесплатно
Сначала пакет планировался под внутренние задачи, но со временем разработки пакета стало понятно, что он может быть полезен и сообществу MODX. Во время тестирования пакета разработчики подхватили идею и мы вместе ее развили до логической беты. Все весело писали issue, поэтому я не мог настроиться написать статью.
Небольшая предыстория
Идея зародилась, когда достало искать иконки в базе fontawesome, и произносились слова «а почему не автоматизировать этот процесс, а может он уже существует?». Несколько часов поисков не дали нужного результата, пришлось делать самому. Вот и первая бета, многие мне говорили делать компонент платным, вот задумался как платный или бесплатный, думаю как первый компонент то сделаю бесплатным, так как решил потом сделать поддержку SVG платной, но со временем передумал. Так как был небольшой интерес не было желания развивать и здесь появился @Олег Щавелев который поддержал компонент и его развитие. Так и свет увидел ещё SVG формат. А может еще есть идеи. Что скажите?
Что может компонент?
На текущий момент, он умеет работать в двух режимах: SVG и популярными шрифтовыми библиотеками:
- FontAwesome v 4.3.0
- FontAwesome v 4.7.0
- FontAwesome v 5
- Simple Icons
И планируется добавить в tinyMCE, ClientConfig
Тип SVG (icontvSVG)
Все очень просто, создаем новое тв-поле и выбираем тип поле “IconTVSVG” далее появляется поле где вы указываете директорию где будут размещаться иконки. Создали директорию заходим во вкладку файлы и заливаем наши иконки.
Далее переходим в ресурс и выбираем иконку которая нам необходима. Типа вывода два либо alias иконки, или спрайт svg. Если вы выбрали первый вариант, то заранее необходимо подготовить шрифтовые иконки. Оптимальным вариантом на мой взгляд является сервис icomoon.io, он очень интуитивный, думаю не требует пояснений.
Тип иконок (icontv)
Все еще проще. Выбираем тип и библиотеку шрифтовых иконок. Далее вставляем шаблонную переменную и не забываем подключить библиотеку на фронт.
Ну что поиграемся с иконками?
Если найден баг создавайте issue.
Шрифтовые иконки Simple Line Icons
Всем привет. Шрифтовые иконки постепенно начинают вытеснять обычные сборки иконок в растровой графике (png, jpg и так далее). Популярность Font Awesome в создании интерфейса сайта врядли кто-то будет оспаривать. Но у этого шрифтового архива иконок также есть достаточно много неплохих аналогов.
Хочу Вас познакомить с шрифтовыми иконками Simple Line Icons. В сборке 180 иконок, как классических: юзер, стрелочка вправо, влево, телефон и так далее; так и оригинальных: кошелек, ракета, кубок. Для создания интерфейса на сайте, Вам этих иконок хватит с лихвой.
Подключение иконок
1. Сперва нужно скачать архив и его разархивировать
2. Теперь нужно залить необходимые файлы на сайт, а именно:
- Css файл simple-line-icons.css из папки css в вашу папку css (скорее всего эта папка у вас уже есть, там лежат все ваши стили, если нет, то создайте ее)
- Папку fonts в корень сайта
3. Далее нужно подключить стили и шрифты, уже загруженные на сервер
Делается это очень просто. Нужно в блок <head> (там где подключаются у Вас все css и js файлы) вставить код подключения css файла:
<link rel="stylesheet" href="css/simple-line-icons. css">
Не забудьте, что этот файл должен быть подключен везде, где у Вас будут стоять иконки Simple Line Icons.
4. Теперь осталось только вставить необходимые иконки
Это делается следующим образом: в том месте, где вы хотите видеть иконку, Вам нужно вставить код:
<span></span>
например если мы поставим
<span></span>
то у нас выйдет такая иконка
А вот код иконки с текстом
<span></span> имя юзера
И выглядит он так:
Не забывайте, что это шрифт и с иконкой нужно работать как с шрифтом, выставлять font-size, font-weight, line-height и так далее
Имя иконки соответствует изображению в «Демо». Если Вам понравились эти иконки, то страницу «Демо» в закладки, будет как шпаргалка. У меня всё! Добро!
Помогла статья? Угости чашечкой кофе =)
Font Mfizz — Векторные иконки для компьютерных фанатов
Font Mfizz предоставляет масштабируемые векторные иконки, представляющие языки программирования, операционные системы, разработку программного обеспечения и технологии. Он был разработан как расширение для Font Awesome, это культовый шрифт, разработанный для компьютерных фанатов и компьютерных фанатов. Его можно мгновенно настроить — размер, цвет, тень и все, что можно сделать с помощью CSS. Шрифт Mfizz широко используется на этом сайте для нашего блога, информации о проектах и т. Д.
Характеристики
98 значков: один шрифт, обозначающий программирование, операционные системы и технологии.
Бесплатно и с открытым исходным кодом: Совершенно бесплатно для коммерческого использования.
Элемент управления CSS: легко настраивайте цвет значка, размер, тень и все, что возможно с помощью CSS.
Retina ready: масштабируемая векторная графика означает, что каждая иконка выглядит великолепно в любом размере.
Совместимость: Создан для бесперебойной работы с Font Awesome.
RXTX для Java гордо спонсируется Greenback.Нам нравится обслуживание, и мы думаем, что вы тоже.
Больше инженерии. Меньше бумажной работы. Расходы стали проще.
Что нового?
Посмотреть полные примечания к выпуску
Использование
После того, как вы приступите к работе, вы можете разместить значки Font Mfizz практически в любом месте вашего HTML, просто используя тег
.
значок apache
значок-apache
Совместимость
Font Mfizz был разработан для бесперебойной работы с Font Awesome. Иконки тщательно названы, чтобы не конфликтовать с Font Awesome. Когда оба шрифта используются вместе, вы получаете более полное представление о конкретных категориях значков, таких как мобильные. Например, в последней версии Font Awesome есть значки для icon-windows
, icon-apple
и icon-android
, но отсутствуют значки icon-blackberry
. Шрифт Mfizz включает icon-blackberry
, и поэтому оба вместе обеспечивают более полное представление мобильных значков.
значок-окна, значок-яблоко, значок-андроид, значок-ежевика
Масштабируемый
Начать!
Используйте этот метод, чтобы получить шрифт Mizz CSS по умолчанию.
Предупреждения
В то время как значки Font Awesome обычно выглядят хорошо даже при меньшем размере, большинство значков в Font Mfizz лучше смотрятся на ~ 20+ пикселей или выше. Большинство значков в этом пакете были созданы путем ручной настройки необработанных файлов SVG / векторов для каждой марки. Эмпирическое правило заключалось в том, чтобы сохранить символическую целостность оригинального логотипа, поместив его в поле просмотра 100 x 100 пикселей только для одного цвета. В некоторых случаях необработанный SVG / вектор был недоступен, и вместо него создавалось оригинальное искусство (например, icon-scala, icon-scala-alt, icon-google-code, icon-playframework, icon-playframwork-alt и т. Д.) .
Иконки
Приложения и операционные системы
Бренды
Базы данных
Типы файлов
Каркасы
Языки программирования
Разное (устарело)
мобильный
Запросить или добавить новые значки?
Большинство файлов SVG (масштабируемая векторная графика) можно изменить, чтобы они стали значками в рамках этого проекта. Если у вас есть .svg, который, по вашему мнению, соответствует целям этого проекта, и вы хотите включить его в будущий выпуск, следуйте инструкциям на Github и отправьте запрос на перенос.
Лицензия
Этот проект находится под лицензией MIT и © 2013-2015 Fizzed, Inc. Вы можете найти копии всех лицензий в файле проектов LICENSE.txt.
Все значки, представляющие коммерческие компании, являются товарными знаками соответствующих владельцев. Использование этих товарных знаков не означает одобрения владельца товарного знака со стороны Fizzed, Font Mfizz или наоборот.
Обновления? Нужна помощь?
Следите за @fizzed_inc в Твиттере, чтобы следить за обновлениями и последними новостями.
Если у вас есть особые проблемы, вопросы или проблемы, свяжитесь с нами и отправьте запрос или запрос на консультацию.
Font Awesome — плагин для WordPress
Официальный способ использования значков Font Awesome Free или Pro на вашем сайте, предоставленный вам командой Font Awesome.
Новый плагин, замена старого плагина
Это новый, полностью переписанный плагин, протестированный с последними версиями WordPress и Font Awesome.Он заменяет старый плагин, который раньше занимал это место в каталоге плагинов WordPress, который больше не поддерживался. Большое спасибо Рэйчел Бейкер и команде, стоящей за бывшим плагином, за то, что запустили оригинальный плагин и позволили нам продвигать его вперед.
Характеристики
Наш официальный плагин позволяет вам использовать Font Awesome так, как вы хотите:
- Используйте значки Pro или Free.
- Воспользуйтесь последней версией или конкретной версией наших значков.
- Выберите технологию: SVG или веб-шрифт.
- Выберите загрузку значков из нашего классического CDN Font Awesome или используйте наборы Font Awesome — самый простой и надежный способ использовать наши значки в Интернете.
- И, если у вас не было возможности обновить свой проект в течение длительного времени, вы можете включить автоматическую совместимость для Font Awesome Version 4.
Но это еще не все … наш официальный плагин может устранять неполадки и помогать вам решать, когда несколько версий Font Awesome загружаются на ваш сайт из других плагинов / тем и вызывают проблемы с отображением или технические проблемы.
Использование
Установите и включите плагин
(подробности см. На вкладке «Установка»)
Добавьте значки на свои страницы и сообщения
После настройки плагина вы добавляете значки на свои страницы и сообщения, используя их имена в шорткодах или HTML.
При использовании шорткодов вы добавляете имя значка и префикс, где префикс — это стиль значка, который вы хотите использовать. Обратите внимание, что вам не нужно включать часть имени fa-
.А если вы не добавите префикс, по умолчанию будет выбран стиль Solid.
Шорткод для значка выглядит так:
[icon name = "stroopwafel"]
[icon name = "stroopwafel" prefix = "fal"]
Или вы можете использовать базовый HTML со стандартным синтаксисом Font Awesome:
Использование значков и функций Pro
Чтобы включить значки Pro с CDN, вам необходимо добавить свой домен в список разрешенных доменов на странице настроек Font Awesome CDN.Чтобы настроить комплект, получите токен API на странице своей учетной записи Font Awesome.
Устранение неполадок с плагином
Иконки Font Awesome популярны, поэтому многие темы и плагины также загружают Font Awesome, и иногда их версия может конфликтовать с вашей. Поэтому мы создали способ помочь вам найти и предотвратить влияние этих конфликтующих версий на ваши значки: Сканер обнаружения конфликтов .
Если плагин настроен правильно, а значки все еще не загружаются, и вы не знаете, почему, перейдите на вкладку «Устранение неполадок», которая состоит из двух частей:
- Обнаружение конфликтов с другими версиями Font Awesome — позволяет запустить сканер обнаружения конфликтов, чтобы найти версии Font Awesome, загружаемые на ваш сайт.
- Версии Font Awesome, активные на вашем сайте — в котором перечислены любые другие версии Font Awesome, используемые на вашем сайте, и который позволяет предотвратить загрузку конфликтующих версий.
Получите дополнительную информацию об использовании сканера для устранения неполадок на странице WordPress в Font Awesome.
Настройка
Плагин по умолчанию настроен на обслуживание значков Font Awesome Free в качестве веб-шрифтов через Font Awesome CDN. Вы можете изменить настройки CDN прямо в плагине.В простейшем случае дополнительной настройки не требуется.
Примечание. В настоящее время плагин несовместим с мультисайтами WordPress.
Вы можете получить более подробную информацию обо всех доступных настройках и устранении неполадок на странице WordPress в Font Awesome.
Обновление старых версий
Если вы использовали старый плагин или все еще используете версию 3 Font Awesome, мы постарались упростить для вас процесс обновления, сохранив совместимость шорткода [icon]
для имен Font Awesome 3, используемых со старым плагином.Но мы планируем в ближайшее время убрать из этого плагина поддержку именования версии 3, так что не ждите слишком долго, чтобы обновить свой код!
См. Также
README на GitHub, в котором есть подробная информация для владельцев и разработчиков сайтов WordPress.
Документация по API для разработчиков.
React Icon Component — Material-UI
Рекомендации и предложения по использованию значков с Material-UI.
Material-UI обеспечивает поддержку значков тремя способами:
- Значки стандартизированного дизайна материалов, экспортированные как компоненты React (значки SVG).
- С компонентом SvgIcon, оболочкой React для пользовательских значков SVG.
- С компонентом Icon, оболочкой React для пользовательских значков шрифтов.
Значки материалов
Дизайн материалов стандартизировал более 1100 официальных значков, каждая из которых представлена в пяти различных «темах» (см. Ниже). Для каждого значка SVG мы экспортируем соответствующий компонент React из пакета @ material-ui / icons. Вы можете выполнить поиск по всему списку этих значков.
Установка
Установите пакет в каталог проекта с помощью:
npm install @ material-ui / icons
пряжа добавить @ material-ui / icons
Эти компоненты используют компонент SvgIcon Material-UI для рендеринга пути SVG для каждого значка, поэтому они имеют одноранговую зависимость от следующего выпуска Material-UI.
Если вы еще не используете Material-UI в своем проекте, вы можете добавить его с помощью:
npm install @ material-ui / core
пряжа добавить @ material-ui / core
Использование
Импортируйте значки с помощью одного из следующих двух вариантов:
Вариант 1:
импортировать AccessAlarmIcon из '@ material-ui / icons / AccessAlarm'; импортировать ThreeDRotation из '@ material-ui / icons / ThreeDRotation';
Вариант 2:
импорт {AccessAlarm, ThreeDRotation} из '@ material-ui / icons';
Самый безопасный вариант — это вариант 1, но вариант 2 может обеспечить максимальное удобство для разработчиков.Прежде чем использовать второй подход, убедитесь, что вы следуете руководству по уменьшению размера пакета. Приветствуется настройка плагина Babel.
У каждого значка также есть «тема»: заливка (по умолчанию), контурная, закругленная, двухцветная и резкая. Если вы хотите импортировать компонент значка с темой, отличной от темы по умолчанию, добавьте имя темы к имени значка. Например, @ material-ui / icons / Удалить значок
с помощью:
- Залитая тема (по умолчанию) экспортируется как
@ material-ui / icons / Delete
, - Обрисованная тема экспортируется как
@ material-ui / icons / DeleteOutlined
, Тема - Rounded экспортируется как
@ material-ui / icons / DeleteRounded
, - Тема Twotone экспортируется как
@ material-ui / icons / DeleteTwoTone
, Тема - Sharp экспортируется как
@ material-ui / icons / DeleteSharp
.
Примечание. Спецификация Material Design называет значки, используя имя «snake_case» (например,
delete_forever
,add_a_photo
), в то время как@ material-ui / icons
экспортирует соответствующие значки с использованием именования «PascalCase» (например,DeleteForever
,AddAPhoto
). Из этого правила именования есть три исключения:3d_rotation
экспортировано какThreeDRotation
,4k
экспортировано какFourK
и360
экспортировано какThreeSixty
.
SvgIcon
Если вам нужен пользовательский значок SVG (недоступный в наборе значков материалов по умолчанию), вы можете использовать оболочку SvgIcon
.
Этот компонент расширяет собственный
element:
- Поставляется со встроенным доступом. Элементы SVG
- должны быть масштабированы для области просмотра 24×24 пикселей, чтобы полученный значок можно было использовать как есть или включить в качестве дочернего элемента для других компонентов пользовательского интерфейса материала, которые используют значки. (Это можно настроить с помощью атрибута
viewBox
). - По умолчанию компонент наследует текущий цвет.
При желании вы можете применить один из цветов темы, используя свойство
color
prop.
функция HomeIcon (реквизит) {
возвращаться (
);
}
Цвет
Свойство компонента
Вы можете использовать оболочку SvgIcon
, даже если ваши значки сохранены в .svg
формат.
svgr имеет загрузчики для импорта файлов SVG и использования их в качестве компонентов React. Например, с webpack:
{
тест: /\.svg$/,
используйте: ['@ svgr / webpack'],
}
импортировать StarIcon из './star.svg';
Также возможно использовать его с «url-loader» или «file-loader». Это подход, используемый приложением Create React.
{
тест: /\.svg$/,
используйте: ['@ svgr / webpack', 'url-loader'],
}
импортировать {ReactComponent as StarIcon} из './star.svg ';
Библиотеки
Материальный дизайн (рекомендуется)
Материальный дизайн стандартизировал более 1100 официальных иконок.
MDI
materialdesignicons.com предоставляет более 2000 иконок.
Для нужного значка скопируйте путь SVG , который они предоставляют, и используйте его как дочерний элемент компонента
SvgIcon
.
Примечание. Mdi-material-ui уже обернул каждый из этих значков SVG компонентом SvgIcon
, поэтому вам не нужно делать это самостоятельно.
Значок (значки шрифтов)
Компонент Значок
будет отображать значок любого шрифта значка, который поддерживает лигатуры.
В качестве предварительного условия вы должны включить один, например
Шрифт значка материала в вашем проекте, например, через Google Web Fonts:
Значок
установит правильное имя класса для шрифта значка материала. Для других шрифтов необходимо указать
имя класса с использованием свойства className
компонента Icon.
Чтобы использовать значок, просто оберните имя значка (лигатура шрифта) компонентом Icon
,
например:
импортировать иконку из '@ material-ui / core / Icon';
звезда
По умолчанию значок наследует текущий цвет текста.
При желании вы можете установить цвет значка, используя одно из свойств цвета темы: первичный
, вторичный
, действие
, ошибка
и отключено
.
Значки материалов шрифта
add_circleadd_circleadd_circleadd_circleadd_circleadd_circle
add_circle
add_circle
add_circle
add_circle
add_circle
add_circle
Font Awesome
Font Awesome можно использовать с компонентом Icon
следующим образом:
<Значок className = "fa fa-plus-circle" />
<Значок className = "fa fa-plus-circle" color = "primary" />
<Значок className = "fa fa-plus-circle" color = "secondary" />
<Значок className = "fa fa-plus-circle" fontSize = "small" />
Шрифт против SVG.Какой подход использовать?
Оба подхода работают нормально, однако есть некоторые тонкие различия, особенно с точки зрения производительности и качества рендеринга. По возможности предпочтительнее использовать SVG, поскольку он позволяет разделять код, поддерживает больше значков, быстрее и лучше обрабатывается.
Для получения дополнительной информации вы можете узнать, почему GitHub перешел с значков шрифтов на значки SVG.
Доступность
Иконки могут передавать различную значимую информацию, поэтому важно, чтобы они достигли как можно большего количества людей.Вы можете рассмотреть два варианта использования:
- Декоративные значки используются только для визуального или фирменного усиления. Если бы они были удалены со страницы, пользователи все равно поймут и смогут использовать вашу страницу.
- Семантические значки - это значки, которые вы используете для передачи смысла, а не просто для украшения. Сюда входят значки без текста рядом с ними, используемые в качестве интерактивных элементов управления - кнопки, элементы формы, переключатели и т. Д.
Декоративные значки SVG
Если ваши значки чисто декоративные, вы уже сделали!
Атрибут aria-hidden = true
добавлен, чтобы ваши значки были правильно доступны (невидимы).
Семантические значки SVG
Если ваш значок имеет семантическое значение, все, что вам нужно сделать, это добавить свойство titleAccess = "означающее"
.
Добавлены атрибут role = "img"
и элемент
, чтобы ваши значки были доступны должным образом.
В случае фокусируемых интерактивных элементов, например, при использовании с кнопкой значка, вы можете использовать свойство aria-label
:
импортировать IconButton из '@ material-ui / core / IconButton';
импортировать SvgIcon из '@ material-ui / core / SvgIcon';
Иконки с декоративным шрифтом
Если ваши иконки чисто декоративные, то все готово!
Атрибут aria-hidden = true
добавлен, чтобы ваши значки были правильно доступны (невидимы).
Значки семантического шрифта
Если значки имеют семантическое значение, необходимо предоставить альтернативный текст, видимый только для вспомогательных технологий.
импортировать иконку из '@ material-ui / core / Icon';
импортировать типографику из '@ material-ui / core / Typography';
add_circle
Создать пользователя
Ссылка
FortAwesome / Font-Awesome: культовый набор инструментов SVG, шрифтов и CSS
Версия 5 - культовый фреймворк SVG, шрифтов и CSS
Самый популярный набор иконок в Интернете был переработан и создан на основе царапать.Вдобавок ко всему, такие функции, как лигатуры шрифтов значков, структура SVG, официальные пакеты NPM для популярных интерфейсных библиотек, таких как React, и доступ к новый CDN.
Не знаком с Font Awesome 5? Учить больше о наших успешный Kickstarter и план. Вы также можете заказать Font Awesome Pro , который включает в себя множество значков напрямую с сайта fontawesome.com.
Документация
Узнайте, как начать работу с Font Awesome, а затем углубитесь в другие, более сложные темы:
Использование Font Awesome в Интернете
Дополнительные параметры и методы
Использование Font Awesome на рабочем столе
Куда делся Font Awesome 4 (или 3)?
Теперь, когда выпущен Font Awesome 5, мы помечаем версию 4 как конец жизни.Мы не планируем выпускать дальнейшие версии 4.x или 3.x.
Документация по-прежнему доступна, но она перемещена в https://fontawesome.com/v4.7.0 и https://fontawesome.com/v3.2.1.
Репозиторий Git для v4.7.0 и v3.2.1 может можно найти в наших выпусках GitHub.
История изменений
Мы будем отслеживать каждый выпуск на CHANGELOG.md
Ищете более старые версии Font Awesome? Проверьте релизы.
Обновление
Время от времени у нас будут специальные инструкции по переходу от одной версии к другой.
Ознакомьтесь с руководством по UPGRADING.md при обновлении ваших зависимостей.
Кодекс поведения
Мы будем вести себя прилично, если вы будете вести себя прилично. Для получения более подробной информации см. Наш CODE_OF_CONDUCT.md.
Содействие
Пожалуйста, прочтите наши правила участия. Включено направления для открытия вопросов.
Управление версиями
Font Awesome будет поддерживаться в максимально возможной степени в соответствии с рекомендациями по семантическому управлению версиями. Релизы будут пронумерованы в следующем формате:
<майор>.<второстепенный>. <патч>
Для получения дополнительной информации о SemVer посетите http://semver.org.
Основная версия "5" является частью зонтичной версии. Он включает в себя множество различных типов файлов и технологий. Следовательно мы отклоняемся от нормального SemVer следующим образом:
- Любой выпуск может обновлять дизайн, внешний вид или брендинг существующего значок
- Мы никогда не будем намеренно выпускать патч
, обновление версии
, которое не работает. обратная совместимость - Вспомогательный выпуск
- Младший выпуск или патч
- Исправления ошибок будут рассматриваться как выпуски исправлений
второстепенные
релизы
Лицензия
Font Awesome Free — это бесплатная программа с открытым исходным кодом и GPL. Вы можете использовать это для коммерческие проекты, проекты с открытым исходным кодом или почти все, что вы хотите.
- Иконки — Лицензия CC BY 4.0
- In the Font Awesome Free, скачать CC BY 4.0 распространяется на все значки, упакованные как файлы типов .svg и .js.
- Шрифты — Лицензия SIL OFL 1.1
- При загрузке Font Awesome Free лицензия SIL OLF применяется ко всем значкам, упакованным в файлы шрифтов для Интернета и рабочего стола.
Код - — Лицензия MIT
- При загрузке Font Awesome Free лицензия MIT применяется ко всем файлам без шрифтов и значков.
Указание авторства требуется для лицензий MIT, SIL OLF и CC BY.Загруженный шрифт Файлы Awesome Free уже содержат встроенные комментарии с достаточным количеством атрибуции, поэтому при использовании этих файлы нормально.
Мы сохранили краткие комментарии с указанием авторства, поэтому просим вас не активно работать чтобы удалить их из файлов, особенно кода. Это отличный способ для людей узнать о Font Awesome.
Команда
Серьезно, не используйте Icon Fonts
Иконки везде. Эти «маленькие чудотворцы» (как их описал Джон Хикс) помогают нам усилить смысл интерфейсов, которые мы проектируем и строим.Их популярность в веб-дизайне никогда не была такой высокой; Краткость и универсальность пиктограмм, в частности, делают их идеальным выбором для больших и маленьких дисплеев.
Но у иконок в Интернете было немало проблем. У них было много времени, чтобы подготовиться к каждому предполагаемому размеру и цвету дисплея. Когда на рынке появились дисплеи с высоким разрешением, значки выглядели особенно низкими и блочными по сравнению с текстом, который они часто сопровождали.
Так что неудивительно, что иконочные шрифты стали таким хитом.Иконки, отображаемые через @ font-face
, не зависели от разрешения и настраивались всеми способами, которые мы ожидали от текста. Конечно, предоставление значков в виде шрифта определенно было хитростью, но также было полезно, универсально и, возможно, даже немного весело.
Но теперь нам нужно остановиться. Пришло время передать иконочные шрифты в Hack Heaven, где они могут порезвиться с макетами на основе таблиц, Bullet-Proof Rounded Corners и Scalable Inman Flash Replacements. Вот почему…
Устройства чтения с экрана действительно читают эту информацию
Большинство вспомогательных устройств будут читать вслух текст, вставленный с помощью CSS, и многие шрифты значков символов Unicode, от которых зависят, не являются исключением.В лучшем случае ваш «любимый» значок будет прочитан вслух как «черная любимая звезда». В худшем случае его читают как «труднопроизносимый» или полностью пропускают.
Они — кошмар, если ты страдаешь дислексией
Многие люди с дислексией считают полезным заменить шрифт веб-сайта чем-то вроде OpenDyslexic. Но иконочные шрифты также заменяются, что сильно затрудняет работу.
Они вторгаются на траву эмодзи
В большинстве случаев мы полагаемся на автоматизированные инструменты, чтобы выбрать, какие символы Unicode назначены для какого значка.Но в Юникоде живут и наши любимые эмодзи. Если вы не будете осторожны, они могут сбивать с толку (хотя и забавно). Мой любимый пример: ошибка Etsy «четыре звезды и лошадь». Совсем недавно наш собственный Джейсон Григсби натолкнулся на случайные удары кулаками на сайте ESPN.
Они часто терпят неудачу
Когда ваш иконочный шрифт не работает, браузер обрабатывает его как любой другой шрифт и заменяет его запасным. В лучшем случае, вы тщательно выбрали запасных персонажей, и что-то странное, но коммуникативное по-прежнему загружается.В худшем случае (и гораздо чаще) пользователь видит что-то совершенно несочетаемое, обычно это ужасный глиф «отсутствующий символ».
Пользовательские шрифты не должны быть критически важными активами. Они все время терпят неудачу. Достаточно взглянуть на проблемы, связанные со значками в Bootstrap, и неудивительно, почему они полностью удаляют их из следующей версии.
Что еще хуже, многие пользователи никогда не увидят эти шрифты. Opera Mini, которая часто соперничает с iOS Safari по глобальной статистике использования с сотнями миллионов пользователей по всему миру, в большинстве случаев не поддерживает @ font-face
.Opera рекомендует избегать шрифтов со значками, если вы хотите поддерживать Opera Mini.
То, как браузеры подсказывают шрифты для оптимизации разборчивости, никогда не подходило для нашей настраиваемой пиктограммы, и поддержка настройки этого поведения присутствует повсюду.
Разноцветные иконки еще хуже. Техника наложения нескольких глифов для достижения эффекта впечатляюще изобретательна, но результаты часто выглядят так, как будто их регистрация печати смещена.
Вы, наверное, делаете это неправильно
«Но Тайлер», — слышу вы.«Вы полностью проигнорировали шрифты Bulletproof Icon Fonts от Filament Group, вместе с тестами функций и разумными, управляемыми контентом резервными решениями».
И вы правы. Эти техники великолепны! Если вы используете иконочный шрифт, вам обязательно следует следовать их рекомендациям до буквы.
Но вы, вероятно, не поймете.
Что вы, , вероятно, сделаете , так это примите то, что у вас есть, или добавите какой-нибудь массивный бесплатный иконочный шрифт, который вы можете использовать сразу.Вы не измените их работу сразу после установки, потому что это действительно сложно расставить по приоритетам, особенно когда они отлично смотрятся на вашем мониторе практически без каких-либо усилий.
Или, может быть, вы, , будете выполнять работу, проектируя и курируя собственный шрифт значков, тщательно выбирая символы Unicode, документируя и пропагандируя важность реализации ваших значков доступным способом с соответствующими запасными вариантами. Затем однажды Дэйв забывает добавить резервное изображение к той иконографической кнопке, которую он добавил (которая, кстати, выглядит отлично, ), которую Роберта повторно использует для своего запроса на слияние, и, прежде чем вы это узнаете, ваше приложение превратилось в снова хрупкая, замусоренная пустошь.
Эти примеры не являются гипотетическими (хотя имена были изменены, чтобы защитить невиновных). Я видел, как это происходило во многих организациях, и все они исходили из самых лучших побуждений.
Лучше уже есть
SVG — это потрясающих для иконок! Это формат векторных изображений с дополнительной поддержкой CSS, JavaScript, возможностью многократного использования, специальных возможностей и многим другим. Было , сделано для такого рода вещей.
Но я слышу много оправданий тому, почему команды избегают его использования даже в совершенно новых проектах. Вот несколько…
«SVG нельзя объединять в спрайты».
Они вполне могут. Есть даже действительно отличные инструменты, такие как svg-sprite и IcoMoon, которые могут помочь автоматизировать этот процесс.
«SVG больше по размеру файла».
Обычно, когда я слышу это, команда сравнивает один двоичный значок шрифта с несколькими несжатыми файлами SVG.Разрыв резко сужается, когда вы оптимизируете свои SVG-файлы, объединяете повторно используемые в спрайты и доставляете те, которые имеют активное сжатие Gzip или встроены в страницу.
Иногда я слышал, что разрыв все еще слишком велик, когда включены сотни значков. Возникает вопрос: почему вы включаете сотен иконок на каждой страницы?
«По сравнению с этим разметка значка слишком многословна».
Сравним:
Разметка SVG на чуть более подробна и более описательна и семантична, чем какой-либо пустой, скрытый ARIA элемент
.
«Браузеры хуже поддерживают SVG».
На момент написания этой статьи глобальная поддержка SVG составляет 96%… 4% на выше, чем на , чем тот же показатель для @ font-face
. Кроме того, SVG намного более доступны, а их резервные варианты намного проще.
«Выбранный нами фреймворк уже имеет иконочный шрифт».
Если бы ваш фреймворк сказал вам спрыгнуть с моста, вы бы это сделали?
Не будь «столовым парнем»
Я учился в школе, когда движение за веб-стандарты достигло критической отметки. В то время как большинство моих инструкторов увидели достоинства семантической разметки и полностью восприняли ее, один с энтузиазмом выдержал. «Table Guy» утверждал, что никакой инструмент компоновки не может узурпировать Table Guy и я поддерживали связь. Сегодня он открыто признает, что ошибался насчет CSS. Он чувствует себя неловко из-за того, что был так женат на технике, которая в ретроспективе была явно незаконно присвоена. Если вы не перестанете использовать иконочные шрифты для людей с программами чтения с экрана, людей с дислексией, людей с браузерами, которые не поддерживают Тогда сделай сам.Не будь застольным парнем. Vuetify поставляется с начальной загрузкой с поддержкой значков Material Design, Material Icons, Font Awesome 4 и Font Awesome 5. По умолчанию приложения будут использовать значки Material Design по умолчанию. Вам необходимо включить указанную библиотеку значков (даже если используется по умолчанию). Это можно сделать, включив ссылку на CDN или импортировав библиотеку значков в ваше приложение. Используйте этот инструмент для поиска любых значков дизайна материалов и копирования их в буфер обмена, щелкнув элемент. Это шрифт значков по умолчанию для Vuetify. Вы можете включить его через CDN: Или как локальная зависимость: Используйте пути SVG, указанные в @ mdi / js.Это рекомендуемая установка при оптимизации вашего приложения для производства. Вам нужно включить ТОЛЬКО , если вы планируете использовать больше, чем значки по умолчанию. Укажите mdiSvg iconfont: Вы можете настраивать импорт только используемых значков, предоставляя гораздо меньший размер пакета. Установка такая же, как описано выше. Для проектов без процесса сборки рекомендуется импортировать значки из CDN В качестве альтернативы можно установить на месте, используя пряжу или npm.Имейте в виду, что это не официальный репозиторий Google и может не получать обновления После установки пакета импортируйте его в свой основной файл js. Обычно это То же, что и выше. Самый простой способ проверить это в своем проекте — это установить FontAwesome через cdn: Установка FontAwesome 4 такая же, как и его более новая версия, только из другого репозитория. Вы будете нацелены на репо с потрясающим шрифтом Не забывайте, ваш проект должен распознавать CSS. Если вы используете webpack, установите и настройте загрузчик css. Самый простой способ начать работу с FontAwesome - использовать компакт-диск. В заголовке вашего основного Для локальной установки вы можете загрузить бесплатную версию FontAwesome , используя предпочитаемый вами менеджер пакетов: В основной точке входа просто импортируйте all.css пакета. Если вы используете настроенный проект webpack, вам необходимо настроить поддержку файлов Добавьте необходимые зависимости. Затем добавьте глобально Допустим, ваше приложение запрашивает пользовательский значок в компоненте Vuetify.Вместо того, чтобы создавать компонент-оболочку или вручную определять конкретный значок каждый раз, когда компонент появляется, вы можете настроить его на глобальном уровне. Вы можете импортировать и назначить svg значению значка. Импортированный svg должен содержать только путь без оболочки Если вы используете библиотеку значков, у которой нет предустановки, вы можете создать собственную. Vuetify автоматически объединит любые строки значков, предоставленные в пул доступных предустановок.Это позволяет вам создавать настраиваемые строки, которые можно использовать в вашем приложении, просто ссылаясь на глобальные значки . Это может помочь гарантировать, что ваше приложение всегда использует определенный значок с заданной строкой.Вот несколько способов использования Вместо предоставленных предустановок шрифтов значков вы можете использовать собственные значки компонентов. Вы также можете переключать значки, которые используются в компоненте Vuetify, на свои собственные. Если вы хотите, чтобы ваш значок SVG правильно наследовал цвета и масштаб, обязательно добавьте к нему следующий CSS: Некоторые значки материалов по умолчанию отсутствуют. Например, Вы можете добавить свой собственный компонент. Допустим, это @ / components / MaterialIcon.vue . Затем вам нужно зарегистрировать точные значки материалов, которые вы хотите. Наконец, вы можете использовать такие значки материалов. Последнее обновление: 12.05.2021, 16:01:47 Продвижение значков SVG вместо значков шрифтов вызвало серьезный импульс в веб-сообществе. С помощью системы значков SVG вы можете лучше соответствовать стандартам доступности, визуализировать более качественные визуальные эффекты и с легкостью добавлять / удалять / изменять значки в библиотеке. В Pivotal мы создали систему значков SVG с React для использования в нашем наборе продуктов.В этой статье рассказывается о моем подходе к стилизации системы значков SVG с помощью CSS, чтобы ее можно было легко и эффективно использовать. Если вы когда-либо использовали системы значков шрифтов, такие как Font Awesome, вы знаете, как легко добавить в проект и приступить к работе. Значки легко выравниваются по тексту и могут быть изменены путем изменения размера шрифта элемента. Не существует четко определенного способа стилизации системы значков SVG. Я видел некоторые системы в индивидуальном стиле и помещал каждый значок в их библиотеку. Этот маршрут звучит крайне неустойчиво, если вы используете более 15 значков в своем пользовательском интерфейсе. Для имитации масштабирования размера шрифта я использую класс для установки размера SVG 1em на 1em. Это означает, что если ваш заголовок имеет размер шрифта 48 пикселей, SVG будет 48 пикселей на 48 пикселей. Это хорошо работает для таких компонентов, как кнопки и входы, когда вы хотите добавить значок. Это также дает вам возможность передать размер шрифта элементу через класс модификатора или встроенный CSS. Использование font-size для определения размера вашего значка немного облегчит вашу жизнь. Обратной стороной является то, что отдельный элемент DOM плохо согласуется с текстом.Чтобы противостоять этому, я написал класс обработчика .svg-icon для хранения размера и относительного позиционирования, чтобы я мог абсолютное позиционирование SVG внутри него. Перемещение значка вниз на «-0,125em» позволяет мне опустить значок на 12,5% в любом масштабе. Первый пример показывает, что элементы DOM по умолчанию выравниваются по базовой линии текста. Однако, поскольку наш значок уже правильно масштабирован, чтобы учесть базовую линию, нам нужно потянуть его вниз, чтобы базовая линия действительно выровнялась. При этом размере расстояние составляет 6 пикселей, 6 пикселей / 48 пикселей = ⅛ или 12.5%. Во втором примере, если потянуть значок вниз на -0,125em, он будет помещен на соответствующую базовую линию текста. Может быть. Каждый шрифт построен по-своему. В приведенном ниже примере вы можете видеть, что, несмотря на одинаковый размер шрифта, высота и ширина букв уникальны для каждого семейства.Однако измерение высоты строки в браузере не изменится. Возможно, вам придется настроить приведенный выше CSS, чтобы разместить существующий набор значков. Начните с шаблона, размер которого соответствует образцу вашего предпочтительного шрифта. В приведенном ниже примере я использую размер шрифта 96 пикселей с соответствующей высотой строки. Рисуя красные линии, чтобы описать границы высоты строки и базовой линии текста, я могу понять, как изменить размер моих самых больших значков. В этом примере я сравниваю значки материалов Google.Я сослался на их шаблон дизайна значков, чтобы лучше понять, как создавать свои собственные значки. , что он по своей природе лучше подходит для создания дизайнов на основе сетки.Он хвастался тем, как быстро и легко он мог достичь макета «Святой Грааль» с его верными ячейками таблицы. Он сослался на множество кроссбраузерных несоответствий, которые продолжают преследовать CSS.
@ font-face
, людей, которые случайно не загрузили иконочный шрифт один раз для некоторых причина, или дизайнеры, которые просто хотят, чтобы их значки выглядели правильно на экране… Icon Fonts — Vuetify
# Установка шрифтов значков
# Значки дизайна материалов
$ yarn add @ mdi / font -D
// ИЛИ ЖЕ
$ npm install @ mdi / font -D
импортировать '@ mdi / font / css / materialdesignicons.css'
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'mdi',
},
})
# Значки дизайна материалов — JS SVG
$ пряжа add @ mdi / js -D
// ИЛИ ЖЕ
$ npm install @ mdi / js -D
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'mdiSvg',
},
})
<шаблон>
# Значки материалов
$ yarn add material-design-icons-iconfont -D
// ИЛИ ЖЕ
$ npm установить материал-дизайн-значки-значок-шрифт -D
main.js
, index.js
или app.js
, расположенный в папке src /
. Если вы используете приложение SSR, у вас может быть клиент .js
или файл entry-client.js
.
import 'material-design-icons-iconfont / dist / material-design-icons.css'
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'md',
},
})
# Font Awesome 4 Icons
, а не на
@fortawesome
.
$ пряжа добавить font-awesome@4.7.0 -D
// ИЛИ ЖЕ
$ npm установить font-awesome@4.7.0 -D
импортировать 'font-awesome / css / font-awesome.min.css'
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'fa4',
},
})
# Font Awesome 5 Icons
index.html
поместите этот фрагмент:
$ yarn add @ fortawesome / fontawesome-free -D
// ИЛИ ЖЕ
$ npm install @ fortawesome / fontawesome-free -D
.css и
с помощью загрузчика css webpack.Если вы уже используете Vue CLI, это будет сделано автоматически.
импортировать '@ fortawesome / fontawesome-free / css / all.css'
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'fa',
},
})
# Font Awesome SVG Icons
$ yarn add @ fortawesome / fontawesome-svg-core @ fortawesome / vue-fontawesome @ fortawesome / free-solid-svg-icons -D
// или же
$ npm install @ fortawesome / fontawesome-svg-core @ fortawesome / vue-fontawesome @ fortawesome / free-solid-svg-icons -D
font-awesome-icon
компонент и установите faSvg
как iconfont в конфигурации Vuetify.
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
импортировать {библиотеку} из '@ fortawesome / fontawesome-svg-core'
импортировать {FontAwesomeIcon} из '@ fortawesome / vue-fontawesome'
импортировать {fas} из '@ fortawesome / free-solid-svg-icons'
Vue.component ('font-awesome-icon', FontAwesomeIcon)
library.add (fas)
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'faSvg',
},
})
# Использование пользовательских значков
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'fa',
значения: {
отменить: 'fas fa-ban',
меню: 'fas fa-ellipsis-v',
},
},
})
.Для импорта более сложного SVG используйте значок компонента.
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
импортировать myIconSvg из myIcon.svg
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'fa',
значения: {
customIconSvg: myIconSvg,
customIconSvgPath: 'M14.989,9.491L6.071,0.537C5.78,0.246,5.308,0.244,5.017,0.535c-0.294,0.29-0.294,0.763-0.003,1.054l8.394,8.428L5.014,18.41c -0.291,0.291-0.291,0.763,0,1.054c0.146,0.146,0.335,0.218,0.527,0.218c0.19,0,0.382-0.073,0.527-0.218l8.918-8.919C15.277,10.254,15.277,9.784,14.989,9.491z ',
},
},
})
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
const MY_ICONS = {
полный: '...',
отменить: '...',
Закрыть: '...',
Удалить: '...',
Чисто: '...',
успех: '...',
Информация: '...',
предупреждение: '...',
ошибка: '...',
предыдущая: '...',
следующий: '...',
checkboxOn: '...',
checkboxOff: '...',
checkboxIndeterminate: '...',
разделитель: '...',
Сортировать: '...',
расширять: '...',
меню: '...',
подгруппа: '...',
падать: '...',
radioOn: '...',
radioOff: '...',
редактировать: '...',
ratingEmpty: '...',
ratingFull: '...',
ratingHalf: '...',
загрузка: '...',
первый: '...',
последний: '...',
развернуть: '...',
файл: '...',
}
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
значения: MY_ICONS,
},
})
# Пользовательские значки многократного использования
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
iconfont: 'mdi',
значения: {
продукт: 'mdi-dropbox',
поддержка: 'mdi-lifebuoy',
steam: 'mdi-steam-box',
ПК: 'mdi-desktop-classic',
xbox: 'mdi-xbox',
playstation: 'mdi-playstation',
переключатель: 'mdi-nintendo-switch',
},
},
})
с этой системой.
<шаблон>
# Значки компонентов
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
импортировать IconComponent из './IconComponent.vue'
Vue.use (Vuetify)
экспортировать новый Vuetify по умолчанию ({
icons: {
значения: {
продукт: {
компонент: IconComponent,
props: {
имя: 'продукт',
},
},
},
},
})
.ваш-svg-icon
fill: currentColor
# Отсутствуют значки материалов
person
и person_outline
доступны, но visibility_outline
нет, а visibility
- нет. Чтобы использовать отсутствующие значки материалов, добавьте шрифт ниже (удалите другой шрифт материала, если он уже зарегистрирован).
<ссылка
rel = "таблица стилей"
href = "https: //fonts.googleapis.com / css? family = Материал + Иконки | Материал + Иконки + Контур | Материал + Иконки + Два + Тон | Материал + Иконки + Круглый | Материал + Иконки + Sharp »
/>
<шаблон>
импортировать Vue из 'vue'
импортировать Vuetify из vuetify / lib
импортировать MaterialIcon из '@ / components / MaterialIcon'
function missingMaterialIcons (ids) {
const icons = {}
for (const id идентификаторов) {
for (константный суффикс ['заливка', 'контур', 'двухцветный', 'круглый', 'резкий']) {
const name = `$ {id} _ $ {суффикс}`
значки [имя] = {
компонент: MaterialIcon,
props: {
название
}
}
}
}
иконки возврата
}
Vue.используйте (Vuetify, {
icons: {
значения: {
... missingMaterialIcons (['видимость', 'видимость_выкл'])
}
}
})
Готовы к большему?
Продолжайте обучение, просматривая связанный контент, выбранный командой, или перемещайтесь между страницами с помощью навигационных ссылок ниже.
Редактировать эту страницу на GitHub Выровняйте значки SVG по тексту и попрощайтесь со значками шрифтов | автор: Эллиот Дал
.icon svg {
height: 1em;
ширина: 1em;
} .svg-icon {
display: inline-flex;
align-self: center;
} .svg-icon svg {
height: 1em;
ширина: 1em;
} .svg-icon.svg-baseline svg {
top: .125em;
позиция: относительная;
}