<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Favicon в HTML: как подключить правильно (ICO, PNG, SVG, iOS и PWA)

Favicon в HTML: как подключить правильно (ICO, PNG, SVG, iOS и PWA)

Иконка сайта (favicon) — это небольшой, но важный элемент, который виден на вкладках браузера, в списке закладок, на экране смартфона и в ярлыках PWA. Неправильно подключённый favicon даёт размытые иконки, 404-запросы и предупреждения в Lighthouse. В этом руководстве вы получите оптимальный набор ссылок и практики, которые работают в 2026 году во всех актуальных браузерах.

Быстрый старт: минимально достаточная разметка

Если вам нужен простой и надёжный набор, используйте ICO для совместимости и пару PNG для плотных экранов.

<!-- Вставьте в <head> -->
<link rel="icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png">
<meta name="theme-color" content="#ffffff"> <!-- Цвет темы для мобильных браузеров -->

Почему так: ICO обеспечивает обратную совместимость (Windows, старые браузеры), а PNG 32×32 и 16×16 выглядят чётко на десктопах. theme-color пригодится для Android/Chrome, где цвет интерфейса подстраивается под сайт.

Современный вариант: SVG + fallback

SVG даёт идеальную чёткость на любых плотностях пикселей и позволяет варьировать размеры без набора десятков PNG. Но оставьте fallback для браузеров без поддержки SVG-иконок.

<!-- SVG как основной вариант -->
<link rel="icon" href="/favicon.svg" type="image/svg+xml" sizes="any">

<!-- Fallback (ICO или PNG) -->
<link rel="alternate icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png">

Обратите внимание на type="image/svg+xml" и sizes="any" — это подсказки браузеру о формате и масштабируемости иконки.

Тёмная тема: разные иконки для light/dark

Можно отдать разные SVG-иконки в зависимости от темы системы. Это поддерживается в современных браузерах (Chrome, Firefox).

<link rel="icon" href="/favicon-dark.svg" type="image/svg+xml" media="(prefers-color-scheme: dark)">
<link rel="icon" href="/favicon.svg" type="image/svg+xml" media="(prefers-color-scheme: light)">
<!-- И обязательно fallback -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png">

Safari поддерживает тёмную тему для mask-icon (см. ниже), но для обычных favicons с media-предикатами ведёт себя не всегда одинаково. Держите fallback!

iOS и Safari: apple-touch-icon и mask-icon

Для экранов iPhone и iPad используйте удобную чёткую иконку 180×180. Для закреплённых вкладок Safari — монохромная SVG-маска с цветом заливки.

<!-- Иконка для добавления сайта на экран iOS -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">

<!-- Закреплённая вкладка Safari (монохромная маска + цвет) -->
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#0a84ff">

Подготовьте apple-touch-icon.png без прозрачности и с хорошими отступами. mask-icon должен быть векторным (чёрная форма на прозрачном фоне).

PWA и Android: web manifest

Если ваш сайт можно «установить» как приложение (PWA), подключите манифест с набором иконок разных размеров.

<link rel="manifest" href="/site.webmanifest">

Пример site.webmanifest:

{
  "name": "Мой сайт",
  "short_name": "Сайт",
  "start_url": "/",
  "display": "standalone",
  "theme_color": "#ffffff",
  "background_color": "#ffffff",
  "icons": [
    { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

Эти иконки используются на экране устройства и в лаунчере при установке приложения.

MIME-типы и сервер

Убедитесь, что сервер отдаёт корректные типы. Особенно важно для SVG, иначе браузер может проигнорировать иконку.

# .htaccess (Apache)
AddType image/svg+xml .svg
AddType image/x-icon .ico

Кэширование и обновление favicon

Иконки обычно кэшируются надолго. Чтобы принудительно обновить их у пользователей после редизайна, добавьте версию в URL или меняйте имя файла.

<link rel="icon" href="/favicon.svg?v=2" type="image/svg+xml" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png?v=2">

Лучше применять «ревизию» имени файла (например, favicon-32.2.png) на уровне сборки, чем query-параметры — так кэш-контроль предсказуемее.

Частые ошибки и как их избежать

  • Только один favicon.ico в корне. Совместимо, но выглядит размыто на ретина-экранах. Добавьте PNG/SVG.
  • Неверный type для SVG. Используйте image/svg+xml.
  • Отсутствуют размеры у PNG. Всегда указывайте sizes для растровых иконок.
  • Неучтён iOS. Добавьте apple-touch-icon 180×180.
  • Нет fallback. Даже при SVG оставляйте ICO/PNG на всякий случай.
  • Слишком тяжёлые файлы. Достаточно 16–32 КБ для PNG, SVG оптимизируйте SVGO.

Проверка и отладка

  • DevTools → Application → Manifest: проверьте, что иконки подтянулись и нет 404.
  • Вкладка Network: убедитесь в корректных MIME-типах и ответах 200.
  • Lighthouse: прогоните аудит PWA/Best Practices — увидите рекомендации по иконкам.
  • Проверьте тёмную тему, переключив её в системе и перезагрузив вкладку.

Готовый «полный» набор для продакшена

Этот комплект закрывает большинство сценариев: SVG + PNG, iOS, Safari pinned, манифест и цвет темы.

<!-- Вставьте в <head> -->
<link rel="icon" href="/favicon.svg?v=2" type="image/svg+xml" sizes="any">
<link rel="icon" href="/favicon-dark.svg?v=2" type="image/svg+xml" media="(prefers-color-scheme: dark)" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png?v=2">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png?v=2">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=2">
<link rel="mask-icon" href="/safari-pinned-tab.svg?v=2" color="#0a84ff">
<link rel="manifest" href="/site.webmanifest?v=2">
<meta name="theme-color" content="#ffffff">

Полезные советы

  • Держите /favicon.ico в корне — многие браузеры и боты запрашивают его автоматически.
  • SVG-иконку делайте простую, без текста мелким кеглем и без сложных фильтров — это улучшит читаемость на маленьких размерах.
  • Для генерации набора иконок используйте любой удобный генератор, но проверяйте итоговую разметку вручную по чек-листу из этой статьи.

Что дальше

Favicon — часть базовой вёрстки, которую важно настроить однажды и забыть. Хотите системно прокачать базовые навыки HTML/CSS и собрать аккуратный «скелет» проекта? Загляните в практический курс по вёрстке: Прокачать вёрстку на практике в курсе «Вёрстка сайта с нуля 2.0» — там вы закрепите все приёмы на реальных макетах.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.