Дайте содержимому гибкой строки 100% -ную высоту контейнера

У меня есть контейнер flexbox с разметкой строк с тремя контейнерами. Контейнер справа имеет основное содержимое, и я хочу, чтобы левый контейнер увеличивался в высоту, чтобы соответствовать.

Если я устанавливаю align-items контейнера на stretch, он делает то, что я хочу. Однако я не могу использовать stretch по независящим от меня обстоятельствам.

Единственные реальные варианты, которые у меня есть, - это center и flex-start. Однако процентные высоты для .left и .mid, похоже, полностью игнорируются этими настройками align-items.

Есть ли способ заставить левый контейнер расти с высотой родителя, кроме переключения на align-items: stretch?

.container {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  border: 1px solid black;
}
  
.left {
  width: 34%;
  border: 1px solid red;
  display: flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
}
  
.mid {
  width: 3%;
  height: 100%;
  border: 1px solid green;
}
  
.right {
  border: 1px solid blue;
}
<div class = "container">
  <div class = "left">
    <div>Hello World!</div>
  </div>
  <div class = "mid"></div>
  <div class = "right">
    <div>Right content</div>
    <div>Right content</div>
    <div>Right content</div>
    <div>Right content</div>
    <div>Right content</div>
    <div>Right content</div>
    <div>Right content</div>
    <div>Right content</div>
  </div>
</div>

без растяжки у вас есть общая проблема:% чего?

Temani Afif 01.05.2018 21:59

Можно ли использовать растяжку для выравнивания себя?

Steven B. 01.05.2018 22:07

Вы можете попробовать удалить свойство align-items: flex-start; из .container или добавить свойство align-items: normal; в .container, если оно соответствует вашим требованиям.

Prasad Kothavale 01.05.2018 22:14

удаление align-items заставляет его использовать stretch / normal, чего я не могу сделать (по очень сложным причинам) :(

Herms 01.05.2018 22:50

Причина, по которой я ограничен, заключается в том, что эти CSS и DOM являются результатом разрабатываемой пользовательской системы шаблонов. Я застрял с опциями, которые дает мне система шаблонов, которые сейчас являются только этими двумя вариантами выравнивания. Я подозреваю, что мне нужно добавить stretch в качестве опции выравнивания в эту систему, но если есть способ заставить ее работать без этого, это будет намного проще.

Herms 01.05.2018 22:53

Вы пробовали решение в stackoverflow.com/questions/23090136/…

TylerH 01.05.2018 22:53

И есть ли у вас возможность использовать здесь, в этой системе шаблонов, JavaScript? Но да, в конечном итоге вы должны убедиться, что тот, кто создает эту систему шаблонов, поддерживает весь данный модуль CSS, а не только его части.

TylerH 01.05.2018 22:55

Как уже упоминалось, .left {align-self: stretch} - это то, что вам нужно.

VXp 01.05.2018 23:10

Javascript генерирует DOM из шаблона, так что да. Но мы стараемся избегать использования JS для создания макета (мы делаем это для еще одной функции, и это больно). align-self - это не то, что мы можем установить через систему прямо сейчас. Похоже, нам просто нужно добавить параметр выравнивания STRETCH в нашу систему шаблонов, чего я и ожидал, но надеялся, что может быть более простой способ.

Herms 02.05.2018 22:49
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
9
120
0

Другие вопросы по теме