Адаптивный дизайн и тёмная тема
Создавайте макеты, адаптирующиеся к любому экрану благодаря контрольным точкам с подходом mobile-first, и добавляйте продуманную тёмную тему с учётом предпочтений пользователя, используя переменные CSS и Tailwind.
«Адаптивный дизайн и тёмная тема» — бесплатный урок Next.js 15 Fullstack Web Apps на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Next.js 15 Fullstack Web Apps, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Next.js 15 Fullstack Web Apps содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Mobile-First Thinking
Responsive design means one layout that adapts to phones, tablets, and desktops. The modern approach is mobile-first: style the small screen first, then add enhancements for larger ones.
Media Queries
The CSS @media rule applies styles only above (or below) a width. Mobile-first uses min-width breakpoints.
.grid { display: block; }
@media (min-width: 768px) {
.grid { display: grid; grid-template-columns: 1fr 1fr; }
}Fluid Units
Prefer relative units so layouts scale naturally:
remfor spacing and font size%andfrfor widthsclamp()for fluid typography
h1 { font-size: clamp(1.5rem, 4vw, 3rem); }Tailwind Breakpoints
Tailwind makes responsiveness inline with prefixes like sm:, md:, lg:. Unprefixed classes are the mobile base.
<div class="block md:grid md:grid-cols-2 lg:grid-cols-3">Flexbox and Grid
Two layout engines cover almost everything:
- Flexbox for one-dimensional rows or columns
- Grid for two-dimensional layouts
Combine them and let breakpoints reflow content.
What Is Dark Mode?
Dark mode swaps a light palette for a dark one to reduce eye strain and save battery on OLED screens. A good implementation respects the user system preference and lets them override it.
System Preference
The CSS media feature prefers-color-scheme detects the OS theme so you can default to what the user already chose.
@media (prefers-color-scheme: dark) {
body { background: #111; color: #eee; }
}CSS Variables for Theming
Define colors as CSS custom properties on the root, then override them for dark mode. Components reference variables, so a single switch repaints the whole app.
:root { --bg: #fff; --fg: #111; }
[data-theme='dark'] { --bg: #111; --fg: #eee; }
body { background: var(--bg); color: var(--fg); }Tailwind Dark Variant
Tailwind ships a dark: variant. Toggle a dark class on the html element and dark utilities activate.
<div class="bg-white text-black dark:bg-gray-900 dark:text-white">Persisting the Choice
Store the user choice in localStorage and apply it before paint to avoid a flash of the wrong theme. Libraries like next-themes handle this cleanly in Next.js.
const theme = localStorage.getItem('theme') || 'system';
document.documentElement.dataset.theme = theme;Accessibility & Contrast
Whatever the theme, keep text readable. Aim for a contrast ratio of at least 4.5:1 for body text per WCAG. Test both themes; a color that works on white may fail on dark.
Quick Check
Test your responsive and theming knowledge.
Recap
You learned adaptive styling:
- Mobile-first media queries and fluid units adapt layouts
- Tailwind
md:/lg:prefixes make breakpoints inline - CSS variables plus
prefers-color-schemepower dark mode - Persist the choice and keep contrast accessible in both themes
Часто задаваемые вопросы
Урок «Адаптивный дизайн и тёмная тема» бесплатный?
Да — полный текст урока «Адаптивный дизайн и тёмная тема» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Next.js 15 Fullstack Web Apps, подпишись на CoddyKit PRO. Курс Next.js 15 Fullstack Web Apps содержит 4 уроков всего.
Чему я научусь в уроке «Адаптивный дизайн и тёмная тема»?
Создавайте макеты, адаптирующиеся к любому экрану благодаря контрольным точкам с подходом mobile-first, и добавляйте продуманную тёмную тему с учётом предпочтений пользователя, используя переменные C… Ты практикуешь Next.js 15 Fullstack Web Apps с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Next.js 15 Fullstack Web Apps?
Предыдущий опыт не требуется. Next.js 15 Fullstack Web Apps на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Адаптивный дизайн и тёмная тема»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Next.js 15 Fullstack Web Apps?
Да. Каждый урок Next.js 15 Fullstack Web Apps включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Модули CSS и глобальные стили
- Интеграция Tailwind CSS
- Библиотеки компонентов и темизация
- Адаптивный дизайн и тёмная тема