Используйте фавиконки правильно / Хабр
Фавиконка (favicon) — это иконка, которая отображается во вкладке браузера перед названием страницы. Также эта иконка отображается в закладках и на рабочем столе для веб-приложений.
Фавиконка при установке веб-приложенияФавиконка на вкладке в браузереПодключение
Чтобы иконка начала отображаться, на вкладке нужно подключить файл с графическим отображением иконки. Для правильного подключения иконки нужно использовать обязательные требования браузера и минимальный набор фавиконок, который мы сейчас подробно рассмотрим.
Почему именно набор, а не одну иконку? Дело в том, что браузеры и экраны развиваются и не стоят на месте. Чем современнее браузер, тем более современный формат он может поддерживать. Например, вы можете подумать, что можно подключить только одну SVG-иконку и браузер уже сам правильно отрисует её, но не все браузеры до сих пор поддерживают SVG-формат для фавиконок. На таблицу совместимости SVG-фавиконок можно посмотреть тут.
Эта статья — фрагмент из учебника по вёрстке с курса «HTML и CSS. Профессиональная разработка сайтов».
Обязательная фавиконка
Все — старые и новые — веб-серверы и браузеры поддерживают .ico-формат.
Для подключения нужно добавить в <head>:
<head> <link rel="icon" href="favicon.ico"><!-- 32×32 --> </head>
Обратите внимание на две детали: размер и расположение.
Размер. В интернете можно найти информацию, что нужно подключать фавиконку в формате .ico в размере 16×16. Это так и не так. Дело в том, что контейнер ico динамический и он может изменять размеры «на лету». Поэтому браузеры, которые понимают размер 16×16, сами сожмут 32×32 до необходимого. В каком случае нужно создавать favicon.ico в размере 16×16? Когда фавиконка размером 32×32 при сжатии начнёт мылиться (будет нечёткой). Это можно проверить вручную, сжав фавиконку с 32×32 до 16×16. Если размыливание картинки произошло, то без дизайнера не обойтись и придётся отрисовывать фавиконку вручную в графическом редакторе.
Расположение. Фавиконку в формате ico обязательно нужно класть в корень проекта, как это показано в примере выше. Дело в том, что любой веб-сервер незаметно для вас всегда ищет favicon.ico в корне проекта и пытается её подключить к сайту.
Дополнительные необходимые фавиконки
Расположение. Только favicon.ico должна лежать в корне проекта. Остальные иконки могут лежать в любом месте в проекте, например:
project/ favicon.ico img/ 180.png 192.png 512.png icon.svg
Или можно сгруппировать все фавиконки, чтобы отделить от других изображений в проекте:
project/ favicon.ico img/ favicons/ 180.png 192.png 512.png icon.svg
SVG
Если современный веб-браузер умеет работать с векторными фавиконками, то этот формат более предпочтительный: меньший вес, наилучшее качество, поддерживает смену тем, не нужно указывать размер.
Подключение точно такое же, как и для favicon. ico, только нужно добавить тип, чтобы браузер понимал, с чем имеет дело:
<head> <link rel="icon" href="images/favicons/icon.svg" type="image/svg+xml"> </head>
Для устройств Apple
Apple пошли по другому сценарию развития и предложили собственные размеры фавиконок для своих устройств — iPhone и iPad. Формат для подключения favicon для Apple поддерживают все современные браузеры.
Самым востребованным размером для старых устройств фавиконок стал размер 180×180. Давайте посмотрим пример подключения:
<head> <link rel="apple-touch-icon" href="images/favicons/apple.png"><!-- 180×180 --> </head>
Подключив такую иконку, мы также поддержим старые устройства, которые не умеют работать с таким большим размером фавиконки и уменьшать её до нужных размеров.
Устройства Apple работают и с большими размерами иконок, но так получилось, что устройства, которые понимают большие размеры, можно подключать более современным способом с помощью манифеста.
Манифест
Манифест — это JSON-файл со всеми подробностями веб-приложения для браузера. Формат был разработан Google по инициативе PWA.
Чтобы добавить фавиконки с помощью манифеста, нужно подключить манифест, а в манифесте указать все иконки и их размеры, которые мы хотим подключить на сайт.
Файл. Создадим файл в корне проекта и назовём его manifest.webmanifest. Расширение .webmanifest нужно указать, чтобы браузер понимал, с каким файлом имеет дело. Само название файла может быть любым (в нашем случае — manifest).
Так как манифест — это JSON-файл, то он должен начинаться с открывающей скобки { и заканчиваться закрывающей скобкой}.
manifest.webmanifest { }
Внутри скобок нужно создать секцию иконок. Секция с иконками ожидает несколько иконок, поэтому добавим массив []:
manifest.webmanifest { "icons": [] }
Осталось добавить фавиконки по шаблону:
manifest. webmanifest { "icons": [ { "src": "", "type": "", "sizes": "" } ] }
Если иконок несколько, то их нужно добавить через запятую:
manifest.webmanifest { "icons": [ { "src": "", "type": "", "sizes": "" }, { "src": "", "type": "", "sizes": "" }, { "src": "", "type": "", "sizes": "" } ] }
Размеры. В манифесте мы укажем размер 192×192 и 512×512. 192 — так как это следующий размер после 180, а 512 — так как это очень большой размер для фавиконки, его будет достаточно. А что с промежуточными разрешениями? Всё хорошо: как и раньше, браузер сожмёт картинку к нужному размеру. Например, из 512 до 256.
manifest.webmanifest { "icons": [ { "src": "images/favicons/192.png", "type": "image/png", "sizes": "192x192" }, { "src": "images/favicons/512.png", "type": "image/png", "sizes": "512x512" } ] }
Настройки:
Можно добавить дополнительные размеры иконок, если этого требует браузерная поддержка вашего проекта. Например, вам потребовалась иконка 256×256. Давайте добавим её:
manifest.webmanifest { "icons": [ { "src": "images/favicons/192.png", "type": "image/png", "sizes": "192x192" }, { "src": "images/favicons/256.png", "type": "image/png", "sizes": "256x256" }, { "src": "images/favicons/512.png", "type": "image/png", "sizes": "512x512" } ] }
Откуда брать фавиконки и как их приготовить
Фавиконки — это ответственность верстальщика. Дизайнеры в большинстве случаев про фавиконки не знают, поэтому не предоставляют их с макетами.
Если дизайнер не предоставил фавиконки, у верстальщика есть два пути:
Не добавлять фавиконки в проект.
Попросить дизайнера отрисовать фавиконку (лучше в векторном формате). Рассказать, что требуется отрисовать иконку в квадрате. Сама иконка может быть круглой или даже овальной, но изображение должно быть вписано в квадрат с пропорциями 1:1.
Векторный формат позволит растянуть фавиконку до нужных размеров (192, 256 и даже 512) без потери качества. Таким образом верстальщик сможет сгенерировать себе нужные размеры и подключить их к странице.
При генерации фавиконок с помощью сторонних сервисов всегда смотрите на получившийся результат. Чаще всего иконки получаются замыленными. Даже если брать хороший оригинал 512×512, то при уменьшении до 32×32 всё равно могут появиться артефакты.
Для генерации фавиконок используйте сервис favicon-generator: экспортируйте изображение фавиконки в формате PNG, добавьте это изображение в сервис генерации фавиконок, нажмите кнопку «Create favicon», а потом — ссылку «Download the generated favicon». Вы скачаете архив со всеми возможными вариантами фавиконок. Возьмите favicon.ico и другие необходимые версии, подключите к странице проекта.
Итог
Итоговый способ подключения фавиконки:
<link rel="icon" href="favicon.ico"> <!-- 32×32 --> <link rel="icon" href="images/favicons/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="images/favicons/apple.png"> <!-- 180×180 --> <link rel="manifest" href="manifest.webmanifest">
manifest.webmanifest
{ "icons": [ { "src": "images/favicons/192.png", "type": "image/png", "sizes": "192x192" }, { "src": "images/favicons/512.png", "type": "image/png", "sizes": "512x512" } ] }
Таким способом мы будем поддерживать самые старые браузеры и самые новые.
Ничего страшного, что список одной фавиконки получился столь длинным — 4 пункта. Во-первых, браузер загружает фавиконку асинхронно. Во-вторых, он сначала посмотрит на весь список фавиконок и загрузит только одну — самую подходящую.
Фавиконки — часть программы курса «HTML и CSS. Профессиональная вёрстка сайтов». Кроме этого в комплекте два месяца теории и практики, интересные проекты и личный наставник. А по промокоду SKUCHNO — скидка 1000 ₽.
Электропоезда | Транспортные значки и брелоки
- Главная
- Железная дорога
Моторовагонный подвижной состав или МВПС с электрическими двигателями называют электричками или электропоездами.
Фильтры
Сбросить
Артикул
keychain-sw
Состав бижутерии
Railwaytag
Предзаказ
Значок электропоезд Ласточка
В наличии
Предзаказ
Значок электропоезд ЭД4М, ЭД9М (12 вариантов)
Предзаказ
Значок скоростной электропоезд Сапсан ЭВС
В наличии
Предзаказ
Значок электропоезд Иволга ЭГ2Тв (2 варианта)
В наличии
Предзаказ
Значок электропоезд ЭР2, ЭР9 (3 варианта)
Предзаказ
Значок электропоезд ЭП2Д / ЭП3Д
В наличии
Предзаказ
Значок электропоезд ЭТ2М Былина
В наличии
Предзаказ
Значок электропоезд ЭР22
В наличии
Предзаказ
Значок Реверсивная рукоятка (КВ)
В наличии
Предзаказ
Значок Стоп-кран
Показать еще
Предзаказ
Добавить в корзину
Перейти в корзину
1313 значков доступности — бесплатно в SVG, PNG, ICO
Получите неограниченный доступ к более чем 6,3 миллионам активов
Получите неограниченное количество загрузокДоступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Наличие средств Значок
Доступность Значок
Доступность аппаратного и программного обеспечения Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Доступность Значок
Зоны доступности Значок
Зоны доступности Значок
Зоны доступности Значок
Зоны доступности Значок
Наличие еды Значок
Доступность домена Значок
Доступность Интернета Значок
Доступность отеля Значок
Наличие на складе Значок
Доступность сервера Значок
Проверить наличие свободных мест Значок
Удаленная доступность Значок
Наличие еды Значок
Немедленная доступность Значок
Немедленная доступность Значок
Доступность 24 часа Значок
Доступность 24 часа Значок
Доступность 24 часа Значок
Доступность Интернета Значок
Доступность Интернета Значок
Доступность Интернета Значок
Доступность Интернета Значок
Доступность Интернета Значок
Доступность событий Значок
Доступность Интернета Значок
Доступность событий Значок
Высокая доступность Значок
Высокая доступность Значок
Высокая доступность Значок
Высокая доступность Icon
Доступноиконок для TinyMCE | Docs
Внести вклад в эту страницу
В следующей таблице приведены значки по умолчанию, поставляемые с TinyMCE. Для получения информации о добавлении пользовательских значков см.:
- Создание пакета значков для TinyMCE.
- API TinyMCE:
tinymce.editor.ui.Registry.addIcon
.
Идентификатор | Предварительный просмотр | Имя файла | ||
---|---|---|---|---|
проверка доступности | проверка доступности.svg 9025 8 | |||
action-next | action-next.svg | |||
предыдущее действие | предыдущее действие.svg | |||
выравнивание по центру | 902 74 align-center.svg | |||
выравнивание-выравнивание | выравнивание-выравнивание.svg | |||
align-left | align-left.svg | |||
align-none | align-none. svg | |||
align-right | align-right.sv г | |||
стрелка влево | стрелка влево.svg | |||
стрелка вправо | стрелка вправо.s vg | |||
полужирный | полужирный.svg | |||
закладка | bookmark.svg | |||
стиль рамки | 90 277 | граница стиля.svg | ||
ширина границы | ширина границы.svg | |||
яркость | яркость.svg | |||
просматривать | просматривать.svg Отменить 0258 | cell-background-color.svg | ||
cell-border-color | cell-border-color. svg | |||
разменная коробка | сдача -case.svg | |||
количество символов | количество символов.svg | |||
902 57 контрольный список-rtl | контрольный список-rtl.svg | |||
контрольный список | контрольный список.svg | |||
галочка 9025 8 | checkmark.svg | |||
шеврон вниз | шеврон вниз .svg | |||
шеврон-левый | шеврон-левый.svg | |||
шеврон-правый | chevron-right.svg | |||
chevron-up | chevron-up.svg | |||
закрыть | закрыть. svg | |||
образец кода | образец кода.svg | |||
уровни цвета | 902 74 уровни цвета.svg | |||
палитра цветов | палитра цветов.svg | |||
палитра цветов watch-remove-color | color-swatch-remove-color.svg | |||
образец цвета | образец цвета.svg | |||
комментарий-добавить 902 77 | комментарий-add.svg | |||
Комментарий | Комментарий. | |||
Копия | Копия. SVG | |||
урожая | урожая.svg | |||
вырезать столбец | 90 257 cut-column. svg | |||
| | |||
902 77 | cut.svg | |||
свойства документа | document-properties.svg | |||
drag | drag.svg | |||
9025 7 двойная колонка | двойная-колонка.svg | |||
двойная-строка | двойная-строка.svg | 9 0270|||
дубликат | дубликат.svg | |||
edit-block | edit-block.svg | |||
edit-image | редактировать-изображение.svg | |||
встроенная страница | встроенная страница. svg | |||
встроенная | embed.svg | |||
emoji | emoji.svg | |||
экспорт | экспорт.svg | |||
заполнение | заполнение.svg | |||
флип-горизонтально | флип-горизонтально.svg | |||
флип-верт ally | flip-vertically.svg | |||
format-painter | формат-живописец.svg | |||
формат | формат.svg | |||
полноэкранный режим | fullscreen.svg | |||
галерея | галерея. svg 90 258 | |||
гамма | gamma.svg | |||
помощь | help.svg | |||
highlight-bg-color | highlight-bg-color.svg 9025 8 | |||
home | home.svg | |||
горизонтальное правило | 9027 4 horizontal-rule.svg | |||
параметры изображения | изображение -options.svg | |||
изображение | image.svg | |||
отступ | indent.svg | |||
info | info.svg | |||
символ вставки. svg | ||||
время вставки | вставка-время.svg | |||
инвертировать | инвертировать.sv г | |||
курсив | italic.svg | |||
язык | язык.svg 9 0258 | |||
высота строки | высота строки.svg | |||
строка | строка.svg | |||
ссылка | ссылка .svg | |||
список-бычий-круг | список-бык-круг.svg | |||
список-бык-по умолчанию | 90 274 список-бык-default.svg | |||
список-бык-квадрат | список-бык-квадрат. svg | |||
список-номер-по умолчанию-rtl | 902 77 | список-номер-по умолчанию-rtl.svg | ||
список-номер-по умолчанию | список-номер-по умолчанию.svg | |||
список-номер-ниже-альфа-rtl | 9 0274 номер-список-нижний-альфа-rtl .svg | |||
список-номер-нижняя-альфа | список-номер-нижняя-альфа.svg | |||
список-номер-нижний-греческий-rtl | list-num-lower-greek-rtl.svg | |||
число-нижний-греческий список | номер-нижний-греческий список.svg | |||
список -num-lower-roman-rtl.svg | ||||
list-num-lower-roman | list-num-lower-roman. svg | |||
список-номер-верхний- альфа-rtl | список-номер-верхний-альфа-rtl.svg | |||
список-номер-верхний-альфа | список-номер-верхний-альфа.svg 902 77 | |||
номер-список- верхний-римский-rtl | список-номер-верхний-римский-rtl.svg | |||
список-номер-верхний-римский | список-номер-верхний-роман.svg | |||
замок | замок.svg | |||
л | лтр.svg | дополнительный ящик | дополнительный ящик.svg | |
новый- документ | new-document.svg | |||
новая вкладка | new-tab. svg | |||
неразрывная | non-breaking.svg | |||
уведомление | уведомление.svg | |||
упорядоченный список-rtl | упорядоченный список-rtl. svg | |||
упорядоченный список | упорядоченный список.svg | |||
ориентация | ориентация.svg | |||
отступ | отступ.svg | |||
разрыв страницы 902 58 | page-break.svg | |||
абзац | абзац .svg | |||
paste-column-after | paste-column-after.svg | |||
вставить столбец перед. svg | ||||
вставить строку после | 902 57 paste-row-after.svg | |||
paste-row-before | paste-row-before.svg | |||
paste | paste.svg 902 77 | |||
вставить текст | paste-text.svg | |||
перманентное перо | перманентное перо.svg | |||
plus.svg | ||||
предпочтения | предпочтения.svg | |||
предварительный просмотр | предварительный просмотр.svg 9 0277 | |||
печать | print.svg | |||
цитата | цитата. svg 902 58 | |||
повтор | повтор.svg | |||
перезагрузка 90 277 | reload.svg | |||
удаление-форматирование | удаление-форматирование.svg | |||
удалить | удалить.svg | |||
изменить размер ручки | 902 77 | resize-handle.svg | ||
resize | resize.svg | |||
восстановление-черновик | восстановление-черновик.svg | |||
поворот влево 9025 8 | повернуть влево.svg | |||
повернуть вправо | повернуть вправо.svg | rtl | rtl. svg | |
сохранить | save.svg | |||
поиск | search.svg 90 258 | |||
выбрать все | select-all.svg | |||
selected | selected.svg 9 0277 | |||
настройки | settings.svg | |||
резкость | sharpen.svg | |||
исходный код | исходный код.svg | |||
проверка орфографии | проверка орфографии.svg | |||
зачеркивание | 9 0277 | зачеркнутый.svg | ||
индекс | subscript.svg | |||
верхний индекс | верхний индекс. svg | |||
заголовок таблицы | table-caption.svg | |||
table-cell-classes | table-cell-classes.svg 90 258 | |||
свойства таблицы-ячейки | table-cell-properties.svg | |||
table-cell-select-all | table-cell-select-all.svg | таблица-ячейка-выбор-внутренняя | table-cell-select-inner.svg | |
классы таблиц | 9025 7 table-classes.svg | |||
table-delete-column | table-delete-column.svg | |||
table-delete-row | table-delete-row.svg | |||
таблица-удаление-таблица | table-delete-table. svg | |||
table-insert-column-after | таблица-вставка-столбец-после.svg | |||
таблица-вставка -column-before | table-insert-column-before.svg | |||
table-insert-row-выше | таблица-вставка-строка-выше.svg | |||
table-insert-row-after | table-insert-row-after.svg | |||
table-left-header | table-left-header.svg | |||
table-merge-cells | table-merge-cells.svg | |||
table- нумерация строк-rtl | таблица-нумерация строк-rtl. свг | |||
нумерация строк таблицы | нумерация строк таблицы. svg | |||
строка таблицы -свойства | table-row-properties.svg | |||
table-split-cells | table-split-cells.svg | |||
table | таблица.svg | |||
table-top-header | table-top-header.svg | |||
шаблон | 902 74 template.svg | |||
временный заполнитель | временный заполнитель.svg | |||
цвет текста | цвет текста.svg | тк | toc.svg | |
перевести | перевести.svg 90 277 | |||
подчеркивание | подчеркивание. svg | |||
отменить | 9 0274 undo.svg | |||
отключить | unlink.svg | |||
разблокировать | unlock.svg | |||
неупорядоченный список | неупорядоченный список .svg | |||
невыбрано | невыбрано. | upload.svg | ||
пользователь | пользователь .svg | |||
выравнивание по вертикали | выравнивание по вертикали.svg | |||
визуальные блоки | 9 0274 visualblocks.svg | |||
visualchars | visualchars. |