gpt4 book ai didi

html - 如果元素不存在/是可选的,不要在 CSS 网格中保留空间

转载 作者:行者123 更新时间:2023-12-04 13:12:41 26 4
gpt4 key购买 nike

我正在使用网格模板为一行四列设置一个简单的网格结构。最左边的两列具有固定宽度,其余两列应填充剩余空间。

但是,第二列是可选 - 它可能根本不存在。在这种情况下,我不想为它保留任何空间。最右边的两列应填满空格。

这显然不能用 grid-template。有可能吗?

.grid {
display: grid;
grid-template-areas: "one two three four";
grid-template-columns: 8rem 8rem 1fr 1fr;
}

.one { background: #404788aa; grid-area: one; }
.two { background: #287d8eaa; grid-area: two; }
.three { background: #3cbb75aa; grid-area: three; }
.four { background: #dce319aa; grid-area: four; }
<div class="grid">
<div class="one">One</div>
<div class="two">Two</div>
<div class="three">Three</div>
<div class="four">Four</div>
</div>
<hr><p>Three and Four should fill the space:</p>
<div class="grid">
<div class="one">One</div>
<div class="three">Three</div>
<div class="four">Four</div>
</div>

最佳答案

尝试将 display: flexflex 属性一起使用,如下所示:

.flex {
display: flex;
flex-direction: row;
justify-content: flex-start;
}

.one { background: #404788aa; flex: 0 1 8rem; }
.two { background: #287d8eaa; flex: 0 1 8rem; }
.three { background: #3cbb75aa; flex: 1 1 auto; }
.four { background: #dce319aa; flex: 1 1 auto; }
<div class="flex">
<div class="one">One</div>
<div class="two">Two</div>
<div class="three">Three</div>
<div class="four">Four</div>
</div>
<hr><p>Three and Four should fill the space:</p>
<div class="flex">
<div class="one">One</div>
<div class="three">Three</div>
<div class="four">Four</div>
</div>

关于html - 如果元素不存在/是可选的,不要在 CSS 网格中保留空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63409584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com