Css flex разная высота блоков

Подскажите, пожалуйста, как сделать блоки одной высоты на flexbox

Вопрос: как сделать так, чтобы все флекс элементы в контейнере были одной высоты? align-items: stretch; дает выравнивание только в рамках одной строки. А мне нужно так: чтобы все элементы в контейнере выравнивались по наибольшему по высоте. При этом контент в них будет динамичный, могут вставить как два слова, так и два абзаца и соответственно высота всех блоков должна подстраиваться по наибольшему. Поэтому фиксированная высота не подойдет. Как это реализовать на флексах? спасибо!

.features-product__container < display: flex; flex-direction: row; justify-content: center; align-items: stretch; flex-wrap: wrap; >.features-product__item

  

Внезапно, активно развивающиеся страны третьего мира лишь добавляют фракционных разногласий и в равной степени предоставлены сами себе. Задача организации, в особенности же разбавленное изрядной долей эмпатии,

Внезапно

Внезапно

Внезапно, активно развивающиеся

Внезапно, активно развивающиеся

Внезапно, активно развивающиеся страны третьего мира лишь добавляют фракционных разногласий и в равной степени предоставлены сами себе. Задача организации, в особенности же разбавленное изрядной долей эмпатии,

Внезапно, активно развивающиеся страны третьего мира лишь добавляют фракционных разногласий и в равной степени предоставлены сами себе. Задача организации, в особенности же разбавленное изрядной долей эмпатии,

Внезапно, активно развивающиеся страны третьего мира лишь добавляют фракционных разногласий и в равной степени предоставлены сами себе. Задача организации, в особенности же разбавленное изрядной долей эмпатии, рациональное мышление представляет собой интересный эксперимент проверки существующих финансовых и административных условий. Не следует, однако, забывать, что современная методология разработки является качественно новой ступенью укрепления моральных ценностей.

Источник

Как сделать что бы флекс элементы имели разную высоту и вставали друг под другом?

Как сделать чтобы FLEX элементы имели вертикальное расстояние между собой ровно в 10px , а не подстраивались под соседний элемент как на примере.

2 ответа 2

Либо использовать flex-flow: column wrap; колонки с возможностью переноса блоков. При этом важно указать ограничение обертки по высоте.

.items < display: flex; justify-content: space-between; flex-flow: column wrap; max-height: 250px; >.item < width: 48%; height: 40px; background: red; margin-bottom: 10px; >.item:nth-child(1) < height: 30px; >.item:nth-child(2) < height: 50px; >.item:nth-child(3) < height: 100px; >.item:nth-child(4)

И второй вариант использовать masonry сетку.

.items <> .item < width: 48%; height: 40px; background: red; margin-bottom: 10px; >.item:nth-child(1) < height: 30px; >.item:nth-child(2) < height: 50px; >.item:nth-child(3) < height: 100px; >.item:nth-child(4)

Флекс контейнеру необходимо добавить направление расположения внутренних флекс элементов: flex-direction: column; . Чтобы увидеть соседнюю колонку нужно ограничить высоту флекс контейнера, например max-height: 300px; .

Запустите пример кода из этого ответа и сами всё увидите. Вертикальное расстояние ровно в 10px, как и требовалось.

.items < display: flex; flex-direction: column; justify-content: space-between; flex-wrap: wrap; max-height: 300px; >.item < width: 48%; height: 40px; ; background: red; margin-bottom: 10px; >.item:nth-child(1) < height: 30px; >.item:nth-child(2) < height: 50px; >.item:nth-child(3) < height: 100px; >.item:nth-child(4)

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.26.43545

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Как сделать флекс элементы с разной высотой?

введите сюда описание изображения

как сверстать блоки так как показано на картинке?

Если размеры будут неизменные, то воспользуйтесь grid layout , если же будут изменться, думаю вам нужно будет masonry .

1 ответ 1

С помощью flex можно сделать так:

.container < width: 1040px; margin: 0 auto; >.gallery < display: flex; flex-flow: wrap column; height: 460px; gap: 50px; padding: 50px; background: #00B8C9; >.gallery__item < width: 280px; height: 120px; background: #DA5A60; border: 1px solid #000; box-sizing: border-box; >.gallery__item-1

С помощью grid можно сделать так:

.container < width: 1040px; margin: 0 auto; >.gallery < display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr; gap: 50px; padding: 50px; background: #00B8C9; >.gallery__item < background: #DA5A60; border: 1px solid #000; box-sizing: border-box; width: 280px; height: 120px; >.gallery__item-1 < grid-row: 1 / 3; height: 290px; >

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.26.43545

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Перенос блоков разной высоты на CSS

кто знает, как сделать, чтобы блоки 5,6,7 (из примера №1) переносились выше, к блокам 1,2,3, как в примере №2. Но чтобы без использования двойных колонок-контейнеров. Как это реализовать на флексах и, отдельно, можно ли такое сделать на флоатах?

* < box-sizing: border-box; --gap: 1rem; --columns: 10; >.wrapper1, .wrapper2 < margin: 0 auto; max-width: 1280px; >.wrapper1 < background-color: cyan; >.wrapper2 < background-color: lime; >.row < display: flex; flex-wrap: wrap; align-items: start; gap: var(--gap); >.item < border: 1px solid black; height: 100px; >.wrapper1 .item < flex: 0 1 calc( (100% / var(--columns)) * 2 - var(--gap) + (var(--gap) / var(--columns)) ); >.wrapper2 .item < flex: 1 1 calc((100% / 3) - 20px); >.col-container60 < flex: 1 1 calc( (100% / var(--columns)) * 6 - var(--gap) + (var(--gap) / var(--columns)) ); >.col-container40 < flex: 1 1 calc( (100% / var(--columns)) * 4 - var(--gap) + (var(--gap) / var(--columns)) ); >.big < height: 200px; >.wrapper1 .big < flex: 0 1 calc( (100% / var(--columns)) * 4 - var(--gap) + (var(--gap) / var(--columns)) ); >.wrapper2 .big < flex-basis: 100%; >p
 

Пример №1

1

2

3

4.1

4.2

5

6

7


Пример №2

1

2

3

5

6

7

4.1

4.2

1 ответ 1

Flexbox не очень подходит для этой задачи. Если предполагается, что блок 4.1/4.2 имеет заранее понятную высоту, то здесь хорошо помог бы grid-лейаут — он позволяет заполнять такие «дырки» ближайшими подходящими по размеру блоками при помощи свойства grid-auto-flow .

 

Пример №3

1

2

3

4.1

4.2

5

6

7

Хуже, если 4.1/4.2 — это какой-нибудь текст непредсказуемой высоты, который нужно вписать в сетку карточек. Тогда может помочь старый топорный способ — display:inline-block для всех элементов и float:right — дополнительно для большого блока. Тогда маленькие карточки будут «обтекать» его слева. Но этот подход может оказаться немного хуже в производительности, если карточек очень много.

 

Пример №4

1

2

3

4.1

4.2

5

6

7

Источник

CSS Flexbox 2 колонки с разной высотой

Изображение 211208Я пытаюсь сделать F правильным под D, вот так: Изображение 211209Основная причина, по которой я делаю это вместо двух отдельных столбцов, — это то, что я хочу, чтобы упорядочить столбцы в мобильном телефоне позже, используя order . Возможно ли это в Flexbox, или есть другой способ?

2 ответа

Чтобы обернуть столбец flex, вам нужно определить фиксированную высоту на контейнере. В противном случае, без точки останова, в столбце нет причин для переноса. Он просто расширит контейнер как один столбец.

Эта проблема более подробно объясняется здесь:

Вероятно, вам лучше с решетчатым решением.

Кроме order свойство order работает как в макетах Grid, так и Flex. Но вам может не понадобиться order в Grid, чтобы перестроить ваш макет для мобильных экранов. Вы можете просто использовать свойства сетки.

Это действительно производит то, на что похожи мои изображения, однако, когда я добавляю больше контента в div A, то B расширяется вместе с ним. Я посмотрел на темы, которые вы опубликовали, и теперь я уверен, что без Javascript невозможно выполнить то, что я ищу. Спасибо!

Опубликовать новый вопрос с более полным примером. Содержимое добавляется динамически в каждый элемент сетки? Если вы знаете высоты заранее, макет может быть возможен без сценариев. Подробности смотрите в моем ответе здесь: stackoverflow.com/q/44377343/3597276

Добавление flex-flow: wrap; к вашим гибким контейнерам решит вашу проблему.

flex-flow — это сокращенное свойство, поэтому убедитесь, что вы прочитали документацию.

Добавлена max-height для элемента .d поэтому высота не заполняет пустое пространство.

@GeraldoBLANCO Это, кажется, искажает высоту элемента D. Есть ли способ сделать это, сохранив D на высоте по умолчанию (как на картинке OP)?

Ещё вопросы

  • 0 Проверьте скрытое значение bool для запуска метода
  • 0 «СОДЕРЖИТ» не работает в критериях просмотра
  • 1 Отправка электронного письма с приложением из приложения
  • 0 Вторая строка повреждена после нескольких вызовов realloc
  • 1 Uncaught Ошибка: process.binding не поддерживается (browserify + selenium-webdriver)
  • 1 Как найти значения Min и Max для строк в словаре при использовании DictReader в Python 3
  • 1 Чтение сжатого файла NumPy во время «с open () как f»
  • 0 AngularJS Несколько представлений с общей схемой проектирования логики
  • 1 Большие проблемы с памятью матрицы
  • 1 сортировка по дате в базе данных Firebase
  • 0 Угловая директива JS с JQuery Datepicker
  • 0 ngRepeat с $ scope. $ apply создает дубликаты в директиве
  • 0 Создание пользовательского интерфейса AngularJS для базы данных MYSQL. Попытка добавить столбец, который отображает итог из другой таблицы
  • 0 Как написать тестовый модуль для сервиса, который возвращает обещание
  • 1 Chrome как отключить ключевое слово отладчика или отключить паузу
  • 0 Классы C ++. Значения внутри класса не обновляются
  • 1 Дарт, как разобрать байты из строки
  • 0 Настройка мета описания сайта
  • 0 Разделите вывод .serialize () и создайте оператор вставки для каждой разделенной части
  • 1 Умножение матриц с использованием EJML
  • 1 получить уникальный идентификатор диска в java
  • 0 Создание редактируемых списков с использованием HTML и JQuery
  • 0 Установка переменных PHP из базы данных с помощью MYSQL
  • 1 Regex не работает
  • 0 Выбранное значение списка выбора не сохраняется в БД с Angular
  • 1 Добавление новых значений в словарь Python
  • 1 Регулярные выражения для добавления классов в HTML-теги
  • 1 Правильно установить приоритеты между правилами и терминалами в грамматике для жаворонка
  • 0 JQuery заменяет часть текста в

    на

  • 0 Как передать значение из DropDownListFor в угловую функцию?
  • 1 Использование Moq с перегруженным методом
  • 0 Изменение / установка высоты div с помощью JS, если содержимое слишком длинное
  • 1 Можно ли перегрузить объявление cpdef на Cython .pxd?
  • 0 Как MySQL выбирает, какое ведомое устройство отправляет запрос?
  • 1 Как я могу исправить нераспознанную проблему класса?
  • 0 Как проверить, все ли div скрыты с переменным классом в jQuery
  • 0 Включить кнопку обзора Jquery.
  • 1 получение операции Restricted на сервере при получении AdministrationProcess из сеанса в IBM Domino
  • 1 Аутентификация Firebase createUserWithEmailAndPassword не выполняется на физических устройствах с переменной для электронной почты
  • 1 Как преобразовать категориальную переменную dtype в числовую?
  • 0 Извлечение SEO URL с использованием pre_mattch_all
  • 1 Добавление нескольких списков в PivotItem в Windows Phone 7
  • 1 Как использовать + = (Добавить И) с пониманием списка
  • 0 Шаблон FlowType не изменяет размеры элементов
  • 0 ограничение размера изображения лайтбокса
  • 1 Angular 2: проверка чисел с помощью Regex
  • 0 MySQL результат из таблицы1, где таблица2 не совпадает и между start_datetime и start_datetime + 8 часов
  • 0 Ошибки ограничения внешнего ключа
  • 1 Использовать асинхронный метод на сервисном уровне из MVC 5?
  • 1 Предварительная обработка Sklearn Imputer, когда в столбце отсутствуют значения

Источник

Читайте также:  Css and popup windows
Оцените статью