Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Шаг 4. Создаём многострочную сетку с помощью flex-wrap
Сетка такого типа может использоваться в каталоге, где однотипные карточки товаров выстроены в несколько рядов, в галерее картинок и так далее. В примере ниже мы добавили контейнер-центровщик, определили две колонки для сетки, задали им ширину и тип выравнивания вдоль главной оси. Как обычно, все размеры были получены из макета: Сетка страницы с карточками товаров и фильтром <section class="catalog-category"> <div class="container"> <div class="filters"> … </div> <div class="catalog"> … <ul class="catalog-list"> <li class="catalog-item">…</li> <li class="catalog-item">…</li> … </ul> </div> </div></section>.catalog-category.container { display: flex; justify-content: space-between;}.filters { width: 230px;}.catalog { width: 836px;}Далее нам нужно сделать «скелет» микросетки для карточек товаров в правой колонке. Поскольку мы имеем дело с микросетками, нам нужно учитывать, что элементов в блоке может быть сколько угодно. Также учтём, что ширина элемента зависит от его контента. То есть если контента станет много или он будет широким, то сетка может сломаться. Поэтому зафиксируем ширину карточки для надёжности. Значение берём из макета: width: 252px;. Для элемента catalog-list задаём тип отображения flex. Значение выравнивания вдоль главной оси оставим по умолчанию, то есть flex-start. Поскольку в нашем случае микросетка строится для списка <ul>, нам необходимо дополнительно сбросить стили списка по умолчанию и обнулить внутренние и внешние отступы. .catalog-list { display: flex; padding: 0; margin: 0; list-style: none;}.catalog-item { width: 252px;}В браузере это будет выглядеть так: Сетка страницы с карточками товаров Блоки расположились в ряд. Далее давайте разрешим перенос элементов на новую строку и затем укажем внешние отступы снизу и справа. .catalog-list { display: flex; flex-wrap: wrap; padding: 0; margin: 0; list-style: none;}.catalog-item { width: 252px; margin-bottom: 24px; margin-right: 40px; }Вот что получилось: Сетка страницы с карточками товаров Необходимое количество карточек не уместилось в ряд из-за заданного отступа справа. Можно решить проблему двумя способами: 1. Сбрасываем у последнего элемента в каждом ряду внешний отступ справа. К примеру, так отступ справа сбросится у каждого третьего элемента: 2..catalog-item:nth-child(3n) {3. margin-right: 0; }Минус этого способа — мы привязываемся определённому числу элементов в ряду. 4. У контейнера с карточками задаём отрицательный отступ справа на величину отступа карточки. Этим действием мы создаём у контейнера небольшой «расширяющий карман», чтобы все три карточки с заданным отступом стали в ряд. 5..catalog-list {6. margin-right: -40px; }После этого карточки встают на место: Сетка страницы с карточками товаров Есть ещё один способ расположить элементы подобным образом.
|
||||
Последнее изменение этой страницы: 2021-01-14; просмотров: 139; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.140.198.173 (0.003 с.) |