Я работаю над макетом сетки, который сжимается из одной строки в один столбец при уменьшении размера экрана с использованием алгоритма repeat(auto-fill, minmax())
. Я разбил его на 3 сетки, потому что в конечном итоге они будут распределены по 2 Angular компонентам.
Вот пример моего кода на данный момент и codepen для работы с .
*{padding: 0; margin: 0;}
.parent{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(10px, 480px));
background-color: #888;
}
.mainGrid{
display: grid;
grid-template-columns: repeat(auto-fill, minmax(10px, 240px));
}
.labelGrid{
display: grid;
grid-template-columns: repeat(auto-fill, minmax(10px, 120px));
}
.indexNumber{
width: 40px;
/*min-width: 10px;
max-width: 120px;*/
}
.button-area{
justify-self: right;
}
<section>
<section class="parent">
<p class="indexNumber">13</p>
<article class="mainGrid">
<label class="labelGrid">
<span class="labelText">text input</span>
<input type="text" />
</label>
<label class="labelGrid">
<span class="labelText">text input 2</span>
<input type="text" />
</label>
</article>
<article class="button-area">
<button>delete</button>
</article>
</section>
</section>
Пока что поведение .mainGrid
работает так, как нужно, но в .parentGrid
он помещает все в ряды, а не сворачивается вниз при уменьшении ширины страницы. Я предполагаю, что это потому, что значения вложенных сеток получаются слишком широкими, чтобы вместить все в один ряд в .parentGrid
.
Я пытался заставить это работать пытаясь выяснить, есть ли способ заставить столбцы генерироваться с различной шириной в зависимости от содержимого. Нет причины, по которой <p>13</p>
должен быть в столбце шириной 200px +. Я пытаюсь найти способ заставить это поведение происходить автоматически, чтобы избежать создания медиа-запроса. Я экспериментировал с min-content
, который добился цели, но он убрал отзывчивость и свел к минимуму мои входные данные в один ряд, независимо от того, насколько широко вы расширяете экран.
Порядок поведения, которое я пытаюсь Чтобы начать с широкого экрана, сжатие до узкого экрана происходит следующим образом.
- Все элементы в одной строке.
- Текст внутри меток накладывается на верхнюю часть входных данных.
- Входные данные располагаются друг над другом.
- Родительская сетка складывает элементы в строки с
<p>
сверху и <button>
снизу.
Кто-нибудь делает? знаете, как можно добиться такого поведения, устраняя все лишнее пространство, которое теряется?