css - 具有多个相同宽度的自动列的 CSS Grid
问题描述
我正在尝试使用 CSS Grids 实现以下布局。这是一个基本的键值显示,一行三对。
| foo | value 1 | bar | value 2 | baz | value 3 |
xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx
| qux | value 4 | quux | value 5 | quuuuuuux | value 6 |
xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx
键( , foo
, bar
, baz
...) 在auto 中,但等宽列。请注意,第二行包含最长的 key ,定义了所有键列quuuuuuux
的宽度。
这些值1fr
应该相等(或相似)用完剩余的网格空间。
我已经试过grid-template-columns: repeat(3, auto 1fr);
了,但是键列仍然有单独的宽度。
布局应该处理任意数量的键值对。
.grid {
display: grid;
grid-template-columns: repeat(3, auto 1fr);
grid-gap: .2em .5em;
}
.key {
font-weight: bold;
background: #ffcccc;
}
.value {
background: #efefef;
}
<div class="grid">
<div class="key">foo</div>
<div class="value">value 1</div>
<div class="key">bar</div>
<div class="value">value 2</div>
<div class="key">baz</div>
<div class="value">value 3</div>
<div class="key">qux</div>
<div class="value">value 4</div>
<div class="key">quux</div>
<div class="value">value 5</div>
<div class="key">quuuuuuux</div>
<div class="value">value 6</div>
</div>
解决方案
推荐阅读
- mysql - ORDER BY STR_TO_DATE ASC 未按预期运行
- javascript - 对 Vm2 js 的补充,可以安全地运行除 Javascript 以外的其他语言的不受信任的代码
- php - .gitignore、adminLTE 和供应商的变化,建议?
- angular - 如何在引导程序 4 中加载导航栏下拉列表内容?
- java - 使用前导零将字符串转换为 BigDecimal
- java - Android Java:试图让这个 AES 加密库工作,但它没有
- android - Android recyclerView 装饰器填充
- image - 在 Navigator.pop 结果对象中颤振发送图像
- python - 在 python 上打开 npy.gz 文件
- php - 即使 gc_maxlifetime 设置为更高的值,PHP 会话也会过期?