Цвета для тёмной темы
Тёмная версия — это не просто перевёрнутые цвета. Для каждого цвета на странице вы подбираете пару для тёмной темы, и получается пара классов: один без префикса и один с dark:. Палитра упрощает задачу: у каждого цвета есть оттенки от 50 (самый светлый) до 950 (самый тёмный):
- Фоны сдвигаются от светлого края шкалы к тёмному: страница с
bg-stone-50наdark:bg-stone-900. - Текст идёт в обратную сторону: от
text-stone-800кdark:text-stone-100. - Поверхности, которые выделяются на фоне страницы, например карточки, в обеих темах светлее страницы: белые на
stone-50иstone-800наstone-900. То, что светлее, выглядит ближе, как будто на него падает свет. - Приглушённый текст, например описания кошек, — средний серый:
stone-500в светлой теме и на оттенок светлее,stone-400, в тёмной, где средний серый читался бы труднее. - Рамки должны лишь слегка отличаться от фона:
stone-200в светлой теме иstone-700в тёмной. - Главный цвет сайта: оранжевый текст
orange-600хорошо читается на белом, а на тёмном фоне он слишком тёмный. Более светлый оттенок,orange-400, заметнее. Наша оранжевая кнопка с белым текстом подходит для обеих тем и может остаться как есть.
| Светлая | Тёмная | |
|---|---|---|
| страница | bg-stone-50 | dark:bg-stone-900 |
| текст | text-stone-800 | dark:text-stone-100 |
| карточки | bg-white | dark:bg-stone-800 |
| приглушённый текст | text-stone-500 | dark:text-stone-400 |
| рамки | border-stone-200 | dark:border-stone-700 |
| оранжевый текст | text-orange-600 | dark:text-orange-400 |
У шапки класс bg-white/90: белый цвет с непрозрачностью 90 %, поэтому содержимое, которое прокручивается под закреплённой шапкой, немного просвечивает. Её пара для тёмной темы сохраняет прозрачность: dark:bg-stone-900/90.
Карточек три, поэтому некоторые классы придётся написать трижды. С Tailwind это обычное дело; в следующем уроке вы увидите, как не повторять одни и те же классы.
Типичная ошибка — забыть префикс: если написать bg-stone-800 вместо dark:bg-stone-800, карточки потемнеют и в светлой теме. Поэтому после каждого изменения смотрите и на светлую версию: на минуту удалите класс dark у <html>, запустите код, а потом верните класс на место.
Задание
- 1
Добавьте класс
dark:bg-stone-800каждой из трёх карточек с кошками (элементыdivс классомbg-white). Имена кошек снова видны. - 2
Добавьте элементу
headerклассыdark:bg-stone-900/90 dark:border-stone-700: тёмный фон с той же прозрачностью и более тёмную линию снизу. Ссылки в шапке снова видны. - 3
Добавьте класс
dark:text-stone-400каждому элементу с классомtext-stone-500: абзацу под главным заголовком, описаниям всех трёх кошек и подвалу. - 4
Добавьте класс
dark:text-orange-400логотипу — ссылке «Усики» в шапке.