我正在使用CSS格架,我想我的最后一排CSS网使用全部剩余空间在包装,但在同一时间,我希望所有其他行遵循最小化内容战略。
包装的CSS:
.grid {
width: 100%;
height: 100%;
display: grid;
grid-template-columns: 100px auto;
grid-auto-rows: min-content;
row-gap: 7px;
justify-items: start;
align-items: start;
}
我最初的实现方式是margin-top: auto
将按钮简单地添加到按钮,就像使用flexbox一样。我也尝试过grid-auto-rows: auto
为网格包装器设置,但是它也不起作用。
编辑:示例代码:https : //jsfiddle.net/xt139o2g/(我希望按钮出现在包装div的右下角)
.wrapper {
border: 1px solid blue;
height: 300px;
width: 250px;
padding: 10px;
}
.grid {
width: 100%;
height: 100%;
display: grid;
grid-template-columns: 100px auto;
grid-auto-rows: min-content;
row-gap: 7px;
justify-items: start;
align-items: start;
}
.button {
grid-column: 1 / -1;
justify-self: end;
align-self: end;
}
<div class="wrapper">
<div class="grid">
<div>
R1C1
</div>
<div>
R1C2
</div>
<div>
R2C1
</div>
<div>
R2C2
</div>
<div class="button">
Button
</div>
</div>
</div>
提前致谢!
您可以使用该repeat
函数将前两行设置为min-content:
grid-template-rows: repeat(2, min-content);
然后,使用display: flex
上.button
和使用它的内容转移到右下justify-content
和align-items
:
display: flex;
align-items: flex-end;
justify-content: flex-end;
演示:(我添加了边框来演示间距。)
.wrapper {
border: 1px solid blue;
height: 300px;
width: 250px;
padding: 10px;
}
.grid {
width: 100%;
height: 100%;
display: grid;
grid-template-columns: 100px auto;
grid-template-rows: repeat(2, min-content);
row-gap: 7px;
}
.grid>div {
width: 100%;
height: 100%;
border: 1px solid;
}
.button {
display: flex;
align-items: flex-end;
justify-content: flex-end;
grid-column: 1 / -1;
}
<div class="wrapper">
<div class="grid">
<div>
R1C1
</div>
<div>
R1C2
</div>
<div>
R2C1
</div>
<div>
R2C2
</div>
<div class="button">
Button
</div>
</div>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句