#html #css #css-grid
#HTML #css #css-grid
Вопрос:
.wrapper {
width: 500px;
border: 5px solid pink;
display: grid;
grid-template-columns: max-content
repeat(auto-fit, minmax(70px, 1fr));
grid-auto-columns: 1fr;
}
.wrapper > *:nth-child(1) {
background-color: purple;
width: 200px;
}
.wrapper > *:nth-child(2) {
background-color: orange;
}
<div class="wrapper">
<div class="box a">A</div>
<div class="box b">B</div>
</div>
GC = Grid-container .
GI = элемент сетки.
Я бы хотел, чтобы мой 2-й GI заполнил оставшееся пространство в строке 1. Однако, когда пространство, оставленное для 2-го GI в строке 1, достигает менее 70 пикселей, я хочу, чтобы он начал переносить его в новую неявную строку ниже, ширина которой охватывает контейнер (1fr).
Когда этот 2-й GI будет помещен в новую строку, я бы хотел внести в него изменения CSS. Есть ли в любом случае «обратить внимание» на это?
Комментарии:
1. Вы не можете, это не так, как работает css-grid
Ответ №1:
Это не задание CSS grid, это задание flexbox
.wrapper {
border: 5px solid pink;
display: flex;
flex-wrap:wrap;
}
.wrapper > *:nth-child(1) {
background-color: purple;
width: 200px;
}
.wrapper > *:nth-child(2) {
background-color: orange;
flex-basis:70px;
flex-grow:1;
}
<div class="wrapper">
<div class="box a">A</div>
<div class="box b">B</div>
</div>
Комментарии:
1. Хорошо, посмотрел это видео (отметка 2 минуты) и подумал, что нечто подобное было достигнуто с помощью CSS-Grid youtube.com/watch?v=qjJR3qYCd54amp;t=366s
2. @tonitone120 не нужно это видеть, CSS grid не подходит для этого. забудьте CSS grid, если вы хотите иметь дело с переносом и элементами разной ширины.
3. Спасибо за ответ. Я хотел бы внести изменения во 2-й GI с помощью CSS, как только он будет помещен в свою собственную строку. Можете ли вы подумать о том, чтобы «обратить внимание» на это с помощью Flexbox или чего-нибудь еще?
4. @tonitone120 какие изменения вы ищете?
5. Каждый гибкий элемент, вероятно, будет его собственным flexbox, поэтому вносите изменения, чтобы его гибкие элементы располагались по-разному. Например, 2-й элемент, находясь в той же строке, что и первый, будет располагать свои гибкие элементы вертикально. Когда в его собственной строке он позиционирует свои элементы горизонтально.