Шапка и hero-блок
Добро пожаловать в итоговый проект курса Tailwind! Вы уже знаете достаточно, чтобы оформить целый сайт самостоятельно, и именно этим вы займётесь на этом уроке: главной страницей кошачьего приюта «Усики», от шапки до подвала.
В редакторе вы найдёте страницу в виде простого HTML без единого класса. В ней есть шапка с навигацией, hero-блок (section с id="hero"), карточки кошек, шаги по тому, как взять кошку, форма для связи и подвал. В конце body находится маленький скрипт кнопки тёмной темы из урока о тёмной теме. Страницу вы оформите за четыре упражнения, по одной части за раз. Только добавляйте классы, а сами элементы не трогайте: проверки ищут их.
В style.css мы подготовили всё, что нужно странице, кроме @import "tailwindcss";: строку, которая включает тёмную тему с помощью класса dark, и блок @theme с собственным цветом приюта, brand (почти такой же оранжевый, как orange-500, в оттенках 50, 100, 200 и с 400 по 700), и шрифтом для заголовков, font-display (Baloo 2 из Google Fonts, он подключён в первой строке). Поэтому можно писать bg-brand-500 или font-display, точно так же, как в уроке о настройке Tailwind. Хотите другой цвет или шрифт? Измените их в style.css, и вместе с ними изменится вся страница.
Сначала продумайте внешний вид. Дизайнеры решают несколько вещей до начала работы, чтобы вся страница выглядела цельно:
- Цвета. Один основной цвет для кнопок и акцентов (
brand), один серый для текстов, линий и фонов (тёплыйstoneхорошо сочетается с оранжевым) и белый. Везде используйте одни и те же несколько оттенков, напримерbrand-500для кнопок иbrand-600, когда на них наведена мышь. - Размеры. Крупный размер для главного заголовка, поменьше для заголовков разделов (например,
text-3xl) и обычный для всего остального. То же с отступами: несколько значений из шкалы, например4,6и12, которые повторяются снова и снова. - Ширина. Многие посетители придут с телефона. Сначала продумайте узкий экран, а потом добавьте то, что меняется на более широких. Время от времени переключайте панель над предпросмотром на 375 px (телефон) и 1280 px (компьютер).
Проверки в этом уроке открытые: они проверяют, что вы сделали то, о чём просит задание (например, что шапка прилипает к верху и имеет фон), а не какие именно классы, цвета и размеры вы выбрали. Классы в заданиях — лишь предложения.
Совет: ваш код не сохраняется, когда вы уходите из упражнения, а следующее упражнение начинается с нашей версии страницы. Если вы хотите продолжить работу над собственным дизайном, скопируйте свой код (оба файла), прежде чем идти дальше, и вставьте его поверх нашего в следующем упражнении.
Задание
- 1
Начните со всей страницы: задайте
bodyцвет фона и цвет текста, напримерbg-stone-50 text-stone-800. Очень тёмный серый приятнее для глаз, чем чисто чёрный. - 2
На телефоне в навигации нет места для трёх ссылок (первый
divвnav). Скройте их там, а начиная с некоторого брейкпоинта показывайте в ряд с промежутками, напримерhidden gap-6 md:flex. - 3
Сделайте
navflex-контейнером, который ставит логотип слева, а кнопку 🌙 со ссылкой «Поддержать» справа (flex justify-between) и выравнивает всё по центру по вертикали (items-center). Добавьте внутренние отступы, а на широких экранах — максимальную ширину по центру страницы:mx-auto max-w-5xl px-4 py-3. Логотип, кнопку 🌙 и ссылку «Поддержать» оформите на своё усмотрение. - 4
Сделайте так, чтобы
headerприлипал к верху окна, пока страница прокручивается (sticky top-0). Держите его над остальной страницей с помощьюz-10: карточки получатrelativeради значков, и позиционированные элементы ниже по странице закрыли бы шапку. И задайте ему фон, чтобы страница не просвечивала сквозь него, напримерbg-white/90. - 5
Выровняйте тексты hero-блока (
sectionсid="hero") по центру и сделайте его заголовок крупным: не меньше 36 px (text-4xl), а на широких экранах ещё крупнее (md:text-6xl). Задайте hero-блоку также фон и щедрые внутренние отступы, напримерbg-brand-50 px-4 py-20 text-center. - 6
Превратите ссылку «Познакомьтесь с кошками» в кнопку: цвет фона, внутренние отступы и скруглённые углы, например
mt-8 inline-block rounded-full bg-brand-500 px-6 py-3 font-semibold text-white. Ссылка — строчный элемент, и её отступы сверху и снизу не отодвинули бы то, что вокруг:inline-blockэто исправляет.