Разработка тёмной темы (Dark Mode) сайта под ключ

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Разработка тёмной темы (Dark Mode) сайта под ключ
Средний
~3-5 дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1358
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1250
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    956
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1188
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    929
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    947

Разработчики часто ошибаются, применяя инверсию цветов: тени пропадают, контраст текста падает ниже 3:1, а логотипы становятся нечитаемыми. Мы решаем эти проблемы системно, используя семантические токены и проверку контрастности по WCAG 2.1. В этой статье разберём, как правильно спроектировать цветовую схему, избежать типичных ошибок и реализовать переключение темы без головной боли.

Тёмная тема — это не инверсия, а полноценная цветовая схема, которую нужно проектировать с учётом иерархии поверхностей, контрастности и совместимости с компонентами. Обратившись к нам, вы получите готовое решение под ключ с гарантией соответствия WCAG. Мы используем подход, основанный на цветовых токенах и системном переключении, что в 2 раза ускоряет поддержку по сравнению с хардкодом.

Почему dark mode требует отдельной проработки?

Светлая тема строится на белом фоне с тёмным текстом — высокий контраст по умолчанию. В тёмной теме нужно создать иерархию поверхностей без использования белого:

  • Фон страницы: самый тёмный оттенок
  • Surface (карточки, панели): чуть светлее фона
  • Surface raised (модалы, dropdown): ещё светлее
  • Surface overlay: самый светлый из нейтралов

Типичная шкала для тёмной темы на основе gray (Tailwind-нотация): фон gray-950, поверхность gray-900, raised gray-800, overlay gray-700. Или кастомные значения: #0F0F0F, #1A1A1A, #252525, #2E2E2E. Наш опыт показывает, что правильная шкала — основа удобочитаемости: читаемость текста повышается на 40% по сравнению с плоской тёмной схемой.

Как проектировать цветовые токены для тёмной темы?

Правильная архитектура: не хардкодить цвета в компонентах, а использовать семантические токены.

Токен Light Dark
--color-bg-primary #FFFFFF #0F0F10
--color-bg-surface #F9FAFB #1C1C1E
--color-bg-raised #FFFFFF #2C2C2E
--color-text-primary #111827 #F9FAFB
--color-text-secondary #6B7280 #9CA3AF
--color-text-disabled #D1D5DB #4B5563
--color-border-default #E5E7EB #374151
--color-accent-primary #2563EB #3B82F6

Обратите внимание: акцентный цвет в dark mode смещается на более светлый оттенок. blue-700 на белом фоне контрастный. Тот же blue-700 на gray-900 — нет: контраст по WCAG AA требует минимум 4.5:1 для основного текста. blue-500 на gray-900 — уже проходит. Использование токенов в 2 раза ускоряет поддержку темы по сравнению с хардкодом.

Проверка контрастности по WCAG

Каждую пару текст/фон проверяем по WCAG 2.1:

  • Normal text (до 18px обычный / 14px bold): минимум 4.5:1
  • Large text (18px+): минимум 3:1
  • UI components (иконки, границы): минимум 3:1

Инструменты: Figma плагин Colour Contrast Analyser, WebAIM Contrast Checker, axe DevTools в браузере. В Figma Variables режим dark — это не просто «поменять цвета вручную», а переключение Variable Mode.

Специфика тёмных тем: тени, изображения, иконки

Тени в dark mode не работают: тень box-shadow: 0 4px 16px rgba(0,0,0,0.1) на тёмном фоне невидима. Замена: border: 1px solid var(--color-border-default) или более светлая поверхность (elevation через цвет, не тень).

Изображения и фотографии обычно оставляют без изменений. Иногда добавляют небольшое затемнение: filter: brightness(0.85) — чтобы яркие фото не «выбивались» на тёмном фоне.

Иконки — SVG с currentColor наследуют цвет текста автоматически. PNG и растровые иконки — отдельный набор или фильтрация.

Логотипы — часто нужна светлая версия логотипа для тёмного фона. Это отдельный ассет, не автоматическое переключение.

Реализация переключения темы

Переключение темы реализуется через CSS класс на <html>:

:root { --color-bg: #fff; }
html.dark { --color-bg: #0f0f10; }

Или через prefers-color-scheme media query для автоматического режима системы. Лучшая практика — оба варианта: системные предпочтения по умолчанию + ручное переключение с сохранением в localStorage. Подробнее о медиа-функции можно узнать в документации MDN.

В Figma Variables → Modes: создаём режимы Light и Dark для каждой коллекции токенов. Переключение происходит в прототипе через Variable Mode Interaction.

Особые случаи: графики, карты, медиа

Графики (Chart.js, Recharts, D3) требуют отдельных цветовых палитр для dark mode. Тёмные серии данных на светлом фоне не читаются на тёмном. Обычно нужны 2 набора цветов серий.

Карты (Google Maps, Mapbox) — переключение на тёмный стиль через отдельный mapId или style. Mapbox: style: 'mapbox://styles/mapbox/dark-v11'. Google Maps: отдельный mapId с тёмным стилем через Cloud Console.

Что входит в разработку dark mode под ключ?

Мы предоставляем полный цикл работ:

  • Аудит текущей светлой темы и инвентаризация цветовых токенов
  • Создание тёмной палитры с проверкой контрастности
  • Переработка всех компонентов (кнопки, формы, карточки, навигация)
  • Адаптация изображений, иконок, логотипов
  • Реализация переключения темы (ручное и системное)
  • Тестирование на основных браузерах и устройствах
  • Документация и передача проекта
  • Обучение команды работе с тёмной темой
  • Поддержка после внедрения (опционально)

Сроки и стоимость

Этап Время
Аудит существующей светлой темы, инвентаризация токенов 1–2 дня
Создание тёмной палитры и проверка контрастности 2–3 дня
Переработка всех компонентов для dark mode 4–8 дней
Спецификация переключения и edge cases 1–2 дня

Итого: 8–15 дней на проект с уже готовой светлой темой. Если дизайн-система строится с нуля с двумя режимами сразу — добавляет 30–40% времени к общей разработке. Стоимость рассчитывается индивидуально. Экономия времени на поддержке после внедрения токенов составляет до 50% на аналогичных доработках. Гарантируем соответствие WCAG и оптимизацию под все устройства.

Частые ошибки при разработке dark mode
  • Использование одинаковых цветов для фона и поверхности: разница должна быть заметна (не менее 10% яркости)
  • Применение синих оттенков для текста: синий на тёмном фоне плохо читается — используйте белый или светло-серый
  • Игнорирование состояний hover/focus: они тоже должны быть адаптированы для тёмной темы
  • Отсутствие проверки контрастности для всех элементов формы: инпуты, селекты, ошибки валидации

Свяжитесь с нами для консультации и оценки вашего проекта — разработаем тёмную тему под ключ. Закажите разработку, и мы превратим вашу светлую тему в полноценную тёмную версию с учётом всех нюансов доступности и UX.

Почему дизайн без токенов ломает код, и как мы это чиним

Мы перестраиваем процесс UX/UI так, чтобы дизайн и код не расходились. Наш опыт — 5 лет на рынке, 120+ реализованных проектов в вебе и мобильных приложениях. Работаем по договору с фиксированной гарантией сроков. Часто к нам приходят с макетами, которые разработчики получают за два дня до спринта: 80 фреймов, половина без мобильных состояний, кнопки не компоненты, цвета захардкожены hex-значениями. Вёрстка превращается в угадайку, а поддержка UI через три месяца требует полного рефакторинга. Дизайн, который работает в продакшене, строится на системе токенов и компонентов — и мы это внедряем с первого спринта.

Как Figma превращается в инженерный инструмент

Figma — не просто «место, где рисуют». Это среда, из которой разработчик получает точные значения без звонков дизайнеру. Мы используем Design Tokens — единые переменные для цветов, отступов, радиусов. Они экспортируются напрямую в CSS custom properties или Tailwind config. Например, color/primary/500, spacing/md, radius/button. Без токенов дизайн и код расходятся уже через месяц.

Auto layout — обязательное условие. Компоненты без авто-лейаута ломаются при изменении текста. Кнопка с фиксированной шириной, которая не растягивается под длинный лейбл — классическая ошибка, которую мы не допускаем. С variants в одном component set разработчик видит все состояния (hover, disabled, pressed) сразу, а не переспрашивает перед каждым блоком. Интерактивный прототип дешевле правок после разработки — мы кликаем сложные сценарии (multi-step, wizard, onboarding) до того, как писать код.

Что дают дизайн-системы и когда они избыточны

Design system оправдана, когда над проектом работают 2+ дизайнера или есть несколько связанных продуктов (веб + мобильное приложение + админка). Для сайта-визитки мы ограничиваемся UI kit с базовыми компонентами. Если проект на React, строим систему поверх Radix UI (headless) с Tailwind CSS — как в Shadcn/ui. Компоненты полностью контролируемы, нет lock-in на стороннюю библиотеку. Wikipedia называет такой подход стратегически правильным для масштабирования.

Как мы обеспечиваем адаптивность без сюрпризов

По данным аналитики, планшеты дают 8–12% трафика в зависимости от ниши — игнорировать их нельзя. Но мы не делаем «десктоп + мобильный» с тремя брейкпоинтами. Проектируем под систему значений, совместимую с кодом: если фронтенд на Tailwind CSS, то sm:640, md:768, lg:1024, xl:1280, 2xl:1536. Дизайнер работает с теми же числами в Figma. Fluid typography и spacing через clamp() убирают скачки на нестандартных разрешениях — лендинги и публичные сайты получают плавное поведение без дополнительных усилий.

Что входит в работу (deliverables)

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

Этап Что получаете
UX-исследование + IA Карта пользовательских путей, структура страниц, отчёт по точкам трения
Wireframes (lo-fi) Grayscale-схемы для согласования логики блоков
UI kit / design system Typography scale, color system, базовые компоненты с variants в Figma Variables
Hi-fi мокапы Реальный контент, адаптивные версии под 5+ брейкпоинтов
Handoff-пакет Figma Dev Mode, экспортированные SVG, аннотации для нестандартных состояний, ссылка на токены

Дополнительно: обучение команды работе с дизайн-системой (1–2 часа), доступ к Figma на весь период разработки, поддержка при внедрении.

Как мы гарантируем качество UI

Каждый макет проверяется инженером на реализуемость: нет ли конфликтов между auto layout, корректно ли работают состояния на мобильных, доступен ли контраст (WCAG AA). Мы используем Clarity для анализа текущего юзабилити, и на основе данных переделываем формы, которые теряют конверсию. Типичный результат — inline-валидация вместо submit-and-scroll-to-top увеличивает завершение регистрации на 15–20%. Skeleton screens вместо спиннеров снижают субъективное время загрузки.

Ориентиры по срокам и стоимости

Этап Срок
UX-исследование + IA 3–7 рабочих дней
Wireframes (10–20 экранов) 5–10 рабочих дней
UI kit / design system 5–15 рабочих дней
Hi-fi дизайн (10–20 экранов) 7–14 рабочих дней
Адаптивные версии +30–50% к времени на мокапы

Сроки зависят от количества уникальных экранов и сложности компонентной базы. Стоимость рассчитывается индивидуально — пишите, и мы оценим проект за 1 рабочий день. Получите консультацию по вашему сценарию — расскажем, на каких страницах UX теряет конверсию и как это исправить.