Эта статья была первоначально опубликована в феврале 2015 года и была обновлена в 2018 году для корректировки версии, а также других незначительных правок и дополнений.
Веб-иконки
Пользователи, посещающие веб-сайт, уделяют столько же внимания визуальному дизайну веб-сайта, сколько и содержанию, которое они надеются найти там.
Традиционно дизайнеры и разработчики использовали отдельные изображения / спрайт-листы для своих иконок; Эти графические изображения представляли собой серию изображений, идеально подходящих по пикселям, которые будут использоваться в определенных частях сайта (таких как панель поиска, навигационные элементы, значки загрузки и т. д.).
Отображение значков с изображениями / спрайтами долгое время работало хорошо (и многие веб-сайты все еще будут их использовать). Однако, поскольку акцент на адаптивном дизайне важнее, чем когда-либо, задача заключалась в предоставлении потрясающей иконографии, которая отлично выглядит независимо от вашего устройства.
Что такое иконки шрифтов?
Значки шрифтов — это способ отображения полностью адаптивных настраиваемых значков на нашем веб-сайте без использования дополнительных изображений или спрайт-листов.
Иконки шрифта — это то, на что они похожи, шрифт, состоящий полностью из иконок.
Там, где обычный шрифт определяет символы, такие как «a», «b», «c», шрифт значка определяет символы, которые являются символами, такими как символ поиска, символ переключения меню и целая куча других — все в одном шрифт.
Зачем мне использовать иконки шрифтов?
Традиционные изображения хорошо работали исторически, но шрифты значков дают нам большую гибкость и позволяют нам легче управлять нашими значками, и делают это быстро и легко.
Иконки шрифта полностью отзывчивы
- Эти значки являются векторами и могут быть масштабированы до любого размера без потери качества.
- Традиционные изображения — это растровые изображения, которые создаются с заданным размером / размером (обычно на основе сетки, такой как 48 × 48). Эти изображения могут выглядеть ужасно при изменении размера или при просмотре на устройстве с высоким разрешением.
Иконки шрифта можно стилизовать, позиционировать и манипулировать
- Значками шрифтов можно управлять, как если бы они были типичными шрифтами; Вы можете установить их цвет, цвет фона, выравнивание текста, высоту строки и другие атрибуты, чтобы стилизовать их с помощью CSS.
- Традиционные изображения не дают вам точного контроля. Если вы хотите, чтобы изображение немного отличалось по цвету или размеру, вам нужно загрузить другое изображение.
Иконки шрифтов кроссбраузерны и доступны в изобилии
- Значки шрифтов имеют глубокую совместимость вплоть до древних браузеров (я смотрю на вас, IE6)
- Есть десятки отличных иконок-шрифтов, на которые дизайнеры потратили бесчисленные часы; Эти шрифты, как правило, часто обновляются и уточняются, чтобы обеспечить лучший опыт.
Вот случайный пример шрифта иконки; изображения не требуются.
Со всеми замечательными бесплатными шрифтами значков, существует очень мало причин использовать традиционные изображения для значков больше. Тем не менее, есть некоторые спорные недостатки шрифтов значков.
- Различия между браузером и ОС. Поскольку это шрифты, браузер отображает значки (есть тонкие различия между каждой ОС, между браузерами и даже между разными версиями одного и того же браузера). Традиционные изображения, однако, выглядят одинаково, независимо от того, на что они смотрятся.
- Не каждый значок существует — дизайнеры покрыли большинство значков, которые вам понадобятся в ваших проектах; однако не все мыслимые значки были созданы, поэтому в некоторых ситуациях вам может потребоваться полагаться на изображения.
Внедрение Font Awesome в ваш проект WordPress
Font Awesome включен в тысячи проектов в Интернете, включая темы WordPress (например, собственную базовую тему SitePoint) и плагины. Интеграция Font Awesome с WordPress, будь то тема или плагин, исключительно проста и требует всего несколько шагов, чтобы начать работу.
Можно использовать десятки шрифтов значков, но в этом уроке я буду использовать Font Awesome, так как они содержат сотни действительно удивительных значков. Мы будем использовать версию 5.4 Font Awesome.
Используйте локальную или внешнюю копию Font Awesome
Есть два основных варианта получения Font Awesome в вашем проекте; Вы можете загрузить файлы на свой веб-сервер или просто создать ссылку на внешнюю таблицу стилей в CDN.
Скачайте Font Awesome и включите шрифты / CSS вручную
Нажмите на ссылку для скачивания на домашней странице Font Awesome и получите zip-файл. Внутри zip-файла вы увидите шрифты и необходимый CSS-файл (есть также файлы LESS / Sass, но мы не собираемся их использовать).
В вашем zip-файле должны быть следующие ресурсы, которые вам понадобятся для переноса в ваш проект (переместите их в свои соответствующие каталоги через FTP). Создайте каталог в своей теме или плагине под названием «шрифты», а другой — «css» и переместите файлы в эти каталоги.
Перейдите в файл functions.php
Создайте функцию и присоедините ее к действию wp_enqueue_scripts
Если у вас есть эта функция, вызовите функцию wp_enqueue_style
//enqueues our locally supplied font awesome stylesheet
function enqueue_our_required_stylesheets(){
wp_enqueue_style('font-awesome', get_stylesheet_directory_uri() . '/css/font-awesome.css');
}
add_action('wp_enqueue_scripts','enqueue_our_required_stylesheets');
Ссылка на размещенный CDN
Хостинг со сторонним CDN значительно облегчает этот процесс; все, что вам нужно сделать, это создать функцию в вашем файле functions.php
wp_enqueue_scripts
Внутри этой функции вы просто поставите таблицу стилей в очередь (за исключением этого времени вы будете ссылаться на внешнюю ссылку):
//enqueues our external font awesome stylesheet
function enqueue_our_required_stylesheets(){
wp_enqueue_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/5.4.0/css/font-awesome.min.css');
}
add_action('wp_enqueue_scripts','enqueue_our_required_stylesheets');
Как использовать Font Awesome (и Icon Fonts в целом)
Font Awesome можно использовать двумя разными способами. То, как вы реализуете это, полностью зависит от вас и потребностей вашего проекта.
Псевдоэлемент (метод CSS)
Использование псевдо-метода для добавления вашего значка включает использование псевдо-селекторов CSS :before
:after
Что вы делаете, это определяете элемент, к которому хотите применить свой значок, и создаете стиль CSS до или после элемента и вручную устанавливаете значок, который будет использоваться (вместе с его стилем и дизайном).
Каждый шрифт в наборе шрифтов значков имеет уникальный код, который представляет значок; этот код является Unicode и сообщает браузеру, что вы хотите отобразить символ, соответствующий этому коду. Вы должны создать свой псевдоэлемент и установить его шрифт для использования вашего семейства значков шрифтов, а затем установить его значение содержимого.
Основными свойствами, которые необходимо установить, являются content
font-family
Пример кнопки
<!-- Here is the styling -->
<style>
.my-button{
display: inline-block;
padding: 8px 12px;
background: #eee;
border: solid 1px #D5D5D5;
}
.my-button span{
display: inline-block;
}
.my-button span:before{
font-family: 'FontAwesome';
content: '\f085';
position: relative;
margin-right: 5px;
font-size: 110%;
}
</style>
<!-- Here is the HTML markup -->
<div class="my-button">
<span class="text"> Settings Menu </span>
</div>
Вот пример вывода:
Так как мы хотели отобразить иконку с несколькими передачами, мы использовали Unicode для этой иконки. На каждой странице Font Awesome будет показана ссылка на Unicode, которую нужно включить; В этом примере Unicode — это \f085
странице примера .
Псевдоэлемент Плюсы
- Вы можете быть очень конкретными со своими проектами; Вы устанавливаете размеры, высоту линии, цвета и стили, которые вам нужны
- Вам не нужно использовать дополнительный элемент HTML просто для создания иконки (вы можете применить это непосредственно к другому элементу, например, H1 или div, а затем расположить его вокруг элемента)
Cons
- Нужно настроить все вручную (вы не можете просто использовать предопределенный класс Font Awesome, чтобы сделать все больше или повернуть, или другие изменения)
- Сложно целиться с помощью JavaScript / jQuery (так как вы используете метод CSS для элемента, если вы хотите нацелиться на элемент и изменить иконку / своп, это сделать невозможно; это потому, что вы не можете нацеливать псевдоэлементы)
- Если Font Awesome обновляет их ссылки на Unicode и вы обновляете таблицу стилей, вам может потребоваться повторно ввести значения Unicode)
Встроенный элемент (метод HTML)
Самый простой способ использовать Font Awesome — это присвоить классы Font Awesome элементу.
Когда вы используете иконку шрифта таким образом, он генерирует псевдоэлемент до / после целевого элемента и создает стиль для иконки.
Если вы хотите отобразить значок, вам нужно назначить класс fa
i
span
Этот класс соединяет ваш элемент со шрифтом Font Awesome.
Как только ваш элемент имеет базовый класс fa
Например, если вы хотите отобразить значок камеры, вы также добавите класс fa-camera-retro
Выбор этого соответствующего класса значков приведет к поиску шрифта значка и отображению его символа юникода (его глифа).
<!--outputs a camera icon-->
<i class="fa fa-camera-retro"></i>
Что бы сделать что-то вроде этого:
Как только у вас появится рендеринг значков, вы сможете создавать более красивые элементы, используя дополнительные классы Font Awesome для применения размеров, поворотов, цветов и стилей.
Пример меню навигации
Вы можете создать простое навигационное меню, используя предопределенные классы и стили Font Awesome:
<!-- CSS for the menu -->
/*Base styles for a drop down*/
.nav-list .nav-item{
display: block;
}
.nav-item .nav-link:first-child{
border-top: solid 1px #ccc;
}
.nav-item .nav-link{
display: block;
padding: 8px 12px;
background: #eee;
border: solid 1px #ccc;
border-top: 0px;
color: #333;
}
.nav-link > i {
margin-right: 10px;
}
<!--HTML for the menu -->
<nav class="menu">
<div class="nav-list">
<li class="nav-item">
<a href="/" class="nav-link">
<i class="fa fa-home fa-fw"></i>
<span>Homepage</span>
</a>
<a href="/users" class="nav-link">
<i class="fa fa-user fa-fw"></i>
<span>Our Users</span>
</a>
<a href="/tags" class="nav-link">
<i class="fa fa-tag fa-fw"></i>
<span>View Tags</span>
</a>
</li>
</ul>
</nav>
Это создаст простое вертикальное меню навигации, как показано ниже:
Пример Stacking Icons
Вы также можете сложить иконки вместе, чтобы создать разные взгляды. В качестве примера, вот несколько кнопок социальных сетей:
<!--Basic CSS styling -->
.social-bar {
text-align: center;
}
.social-bar .header{
display: inline-block;
margin: 0px 7px 0px 0px;
border-bottom: solid 1px;
font-size: 110%;
}
/*holds the front and back icons*/
.social-bar .icon{
display: inline-block;
}
/*back (square) of the stack*/
.social-bar .icon > .back{
background: #333;
}
/*Front (icon) of the stack*/
.social-bar .icon > .front{
color: #fff;
}
<!--HTML for the social media elements -->
<div class="social-bar">
<p class="header">Join our social media </p>
<a href="https://www.facebook.com/">
<span class="icon fa-stack fa-lg">
<i class="back fa fa-square fa-stack-2x"></i>
<i class="front fa fa-facebook fa-stack-1x"></i>
</span>
</a>
<a href="https://twitter.com/">
<span class="icon fa-stack fa-lg">
<i class="back fa fa-square fa-stack-2x"></i>
<i class="front fa fa-twitter fa-stack-1x"></i>
</span>
</a>
<a href="https://www.pinterest.com/">
<span class="icon fa-stack fa-lg">
<i class="back fa fa-square fa-stack-2x"></i>
<i class="front fa fa-pinterest fa-stack-1x"></i>
</span>
<a>
</div>
Вы должны увидеть серию значков социальных сетей, которые выглядят так:
Сложенные значки работают, оборачивая ваши значки вокруг другого элемента и применяя к нему класс fa-stack
Значки, которые вы хотите использовать в стеке, также должны использовать класс fa-stack
Вы можете указать необходимый размер, используя классы размеров, такие как fa-stack-1x
fa-stack-2x
Инлайн Элемент Плюсы
- Очень прост в использовании. Примените классы Font Awesome, которые вы хотите, и тогда вы увидите свою иконку
- Вы можете настроить таргетинг на сам элемент с помощью JavaScript / jQuery, то есть вы можете добавить классы или удалить классы, чтобы изменить и изменить отображаемый значок.
- Множество различных стилей и действий на выбор, включая сложенные значки, анимацию, изменение размера и позиционирование. Все они были протестированы, чтобы убедиться, что они работают хорошо и являются кросс-браузерными жалобами (у вас нет головной боли при тестировании всего этого самостоятельно)
- Простое визуальное представление в HTML, чтобы показать, что вы используете значок (псевдоэлементы могут быть пропущены, если они только определены в CSS)
Cons
- Если вам требуется более точное управление, вам нужно применить дополнительные стили / переопределить классы Font Awesome
Вывод
Теперь, когда вы знаете основы получения шрифтов значков для работы в вашем проекте, вы можете расширить свои дизайны и, надеюсь, удалить старые значки на основе изображений / спрайтов в пользу этих новых полностью адаптивных методов!