Обновить

Комментарии 9

А как бы задать параметры флексирования компонента разные для разных осей, чтобы поле ввода числа тянулось по горизонтали, но не растягивалось по вертикали независимо от внешнего направления потока?

Что-то мне кажется, что я вообще не понял вопрос. Но про растягивание поля ввода можно посмотреть в сторону field-sizing

<div class="row">
  <input placeholder="ok" />
  <input placeholder="ok" />
</div>
<div class="col">
  <input placeholder="wtf" />
  <input placeholder="wtf" />
</div>
html, body {
  width: 100%;
  height: 100%;
}
div {
  display: flex;
  height: 50%;
}
.row {
  flex-direction: row;
}
.col {
  flex-direction: column;
}
input {
  flex: 1 1 auto; // flex-horizontal: 1 1 auto
  height: 1rem; // flex-vertical: 0 0 auto
}

Ага, теперь понял. Пуленепробиваемого решения у меня нет

Я так понял, что

.col input {
  flex-grow: 0;
}

не вариант для решения =)

Тогда можно попробовать гриды с auto-flow

.row {
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}

.col {
  grid-auto-flow: row;
  align-content: start;
}

input {
  height: 1rem;
}



Ещё есть современный вариант, который не везде будет работать со style queries. По сути на контенере можно проверить какое CSS-свойство с каким значением указано и в зависимости от этого у ребёнка изменить значение

div {
  container-type: style;
}

@container style(flex-direction: column) {
  input {
    flex-grow: 0;
  }
}

но честно сказать я его даже не проверял, но по смыслу он точно подходит

Как-то не завелись у меня ни тот, ни другой код.

Добрый день. А почему вы перестали писать статьи? Было очень полезно читать с утра на работе под кофе. Прям ритуал был и наслаждался и обогащался знаниями)

Привет. Спасибо за интерес. На самом деле не перестал. Следующий выпуск уже в черновике.

Что-то много событий в жизни и поэтому как-то не до забора было. Скоро вернусь. В следующем выпуске 26 фич будет

Благодарю за ответ. Спасибо за старания! Вы делаете большое дело. Это мы, большинство разработчиков, просто потребители...)

Что-то почитал, что я написал. С телефона писал. Опечатался в паре мест. Будет 16 фич =)

Спасибо за такие тёплые слова. Не может не радовать =)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации