До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Дневник студента

О том, как я сломал голову, пока пытался сделать второй проект по верстке на Grid

Время чтения статьи ~1 минута
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
О том, как я сломал голову, пока пытался сделать второй проект по верстке на ... главное изображение

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

Grid — просто восхитительная штука при создании адаптивного сайта. Почему я так голословен? Сейчас объясню на примере второго проекта по вёрстке.

Автоматическое изменение размеров блоков

Можно просто создать три колонки, прописать им размеры minmax и всё, дальше браузер всё сделает сам, красота ведь 😁

Да и, в принципе, единственная причина, по которой я решил использовать Grid — меньше мороки (думал я тогда) 🙃

Тег header — моя главная боль

Что делает Grid? Создаёт сетку, куда помещаются блоки. Что такое header и main? Отдельные блоки. И в этом вся проблема! Хочется сохранить семантику, но при этом каким-то образом ещё и нужно позиционировать header относительно main. Сделаем body grid-контейнером, тогда не сможем сделать фон на весь экран, main — тогда header нам скажет: «Извини, но твоя принцесса в другом замке». И как быть?

Я довольно долго ломал голову над этой задачей, а ведь решение было очень простым — Сделать Grid внутри Grid

enter image description here

То есть?

Мы создаём базовые стили grid-контейнера и задаём их сперва body, а потом main. Тегу main прописываем

grid-column: 1/-1;

Всё, теперь у нас будет возможность абсолютно позиционировать header относительно body, а main с ним сольётся и всё будет выглядеть как надо.

P.S. Надеюсь что строка для footer создастся сама 🙏

Если кому-то интересно, как это всё выглядит на деле, то вот ссылка на мой GitHub.

Аватар пользователя Шахзод Давлатов
Шахзод Давлатов 07 сентября 2021
2
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября