Информация о файлах cookie на этой странице

Наш сайт использует файлы cookie, чтобы обеспечивать его работу, а также собирать и анализировать данные о работе и использовании сайта. Политика конфиденциальности

  • Курсы
    • Discord
    • Twitter
    • Linkedin
    • Facebook
    • Instagram
  • Тарифы
  • English
  • Čeština
  • Deutsch
  • Русский
ВойтиНачать бесплатно
  • Курсы
  • Тарифы

Сообщество

Войти
  
  • Курсы
    • Discord
    • Twitter
    • Linkedin
    • Facebook
    • Instagram
  • Тарифы
  • English
  • Čeština
  • Deutsch
  • Русский
ВойтиНачать бесплатно
  • Курсы
  • Тарифы

Сообщество

Войти

Дни и таблица

Теперь страница с расписанием, та, которую меняет скрипт. Её заголовок и абзац получают такие же классы, как на главной, а заголовок ещё и mt-12, чтобы не прилипал к шапке.

Кнопки дней. Скрипт переносит класс active с кнопки на кнопку. Что придаёт active вид? Скрипт мог бы добавлять и убирать классы Tailwind, например bg-gold. Но если у элемента два класса для одного свойства, скажем bg-white и bg-gold, побеждает тот, что стоит позже в CSS Tailwind, а не тот, что скрипт добавил последним. Скрипту пришлось бы снимать и классы другого вида. Проще наоборот: скрипт по-прежнему говорит, какая кнопка активна, а style.css с помощью @apply говорит, как это выглядит:

@layer components {
    .day {
        @apply cursor-pointer rounded-full border-2 border-gold px-4 py-1 font-semibold transition-colors hover:border-night focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-night;
    }

    .active {
        @apply bg-gold text-night;
    }
}

Каждая из четырёх кнопок получает класс day, а у первой остаётся active. У .day нет фона, поэтому .active добавляет золотой. Не задавайте кнопкам в HTML класс с bg-: утилитные классы побеждают слой components, и .active проиграл бы.

Таблица. Пять столбцов не помещаются на телефоне, но и растягивать вбок всю страницу они не должны. Поместите таблицу в div с классом overflow-x-auto (overflow-x: auto): когда таблица шире div, вбок прокручивается только div. Таблице ещё нужен класс whitespace-nowrap (white-space: nowrap), который наследуют её ячейки, чтобы текст в них не переносился на вторую строку.

Кнопки «Выбрать места». Их создаёт скрипт, поэтому и классы он задаёт сам, сразу после текста кнопки: button.className = "...";. className — это атрибут class элемента в виде текста. Строка выполняется для каждой строки таблицы, поэтому у всех кнопок одинаковые классы. Tailwind ищет названия классов во всех ваших файлах, в том числе в script.js, и создаёт для них CSS. Но только если каждое название написано целиком: в "bg-" + color Tailwind не найдёт ни одного класса.

Задание

  1. 1

    В showtimes.html задайте h1 классы mt-12 font-display text-4xl font-bold text-night, а абзацу под ним — mt-2. Задайте #days классы mt-6 flex flex-wrap gap-2, а каждой кнопке дня — класс day. В style.css добавьте блок @layer components из примера выше. Щёлкайте по дням в окне просмотра: золотой цвет следует за вашими нажатиями.

  2. 2

    Поместите table в div с классами mt-4 overflow-x-auto, а таблице задайте w-full whitespace-nowrap. При 375 px таблица прокручивается вбок, а остальная страница остаётся на месте.

  3. 3

    В showShowtimes() в script.js задайте каждой кнопке «Выбрать места» её классы, например: button.className = "cursor-pointer rounded-full bg-night px-4 py-1 text-sm font-semibold text-white transition-colors hover:bg-night/80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gold";

Назад

5/7

  1. 1. Tailwind для кинотеатра
  2. 2. Шапка и подвал
  3. 3. Hero-блок и кнопка
  4. 4. Фильмы и цены
  5. 5. Дни и таблица
  6. 6. Места и форма
  7. 7. Поздравляем!
Далее

Начните программировать бесплатно

Регистрируясь, вы принимаете Условия использования и Политику конфиденциальности.

Или зарегистрируйтесь через: