html - 为什么 grid-template-areas 属性无效?
问题描述
我有以下代码:
CSS
.items {
display: grid;
grid-template-columns: 1fr 40px 1fr 40px 1fr;
grid-template-columns: auto 40px auto;
grid-template-areas:
"i1 . i2 . i3"
". . ."
"i4 . i5 . i6";
}
.i1 {
grid-area: i1;
}
.i2 {
grid-area: i2;
}
.i3 {
grid-area: i3;
}
.i4 {
grid-area: i4;
}
.i5 {
grid-area: i5;
}
.i6 {
grid-area: i6;
}
HTML
<div class="i1"></div>
<div class="i2"></div>
<div class="i3"></div>
<div class="i4"></div>
<div class="i5"></div>
<div class="i6"></div>
一切都变得一团糟,在开发工具中,我可以看到我在定义 grid-template-areas 属性的行上收到一条警告,上面写着“无效的属性值”。
如果我删除“......” 从财产价值开始,一切都开始起作用。
但我需要行之间的缩进。我怎样才能让它工作?
解决方案
将您的网格简化为:
i1 i2 i3
i4 i5 i6
完成此操作后,应用 . 的网格行/列间隙40px
。
.items {
display: grid;
grid-column-gap: 40px;
grid-row-gap: 40px;
grid-template-columns: repeat(1fr);
grid-template-areas:
"i1 i2 i3"
"i4 i5 i6";
}
.i1 { grid-area: i1; }
.i2 { grid-area: i2; }
.i3 { grid-area: i3; }
.i4 { grid-area: i4; }
.i5 { grid-area: i5; }
.i6 { grid-area: i6; }
<div class="items">
<div class="i1">1</div>
<div class="i2">2</div>
<div class="i3">3</div>
<div class="i4">4</div>
<div class="i5">5</div>
<div class="i6">6</div>
</div>
这是一个带边距的版本(如果grid-gap
不可用):
.items {
display: grid;
grid-template-columns: repeat(1fr);
grid-template-areas:
"i1 i2 i3"
"i4 i5 i6";
}
.i1, .i2, .i3 { margin-bottom: 20px; }
.i4, .i5, .i6 { margin-top: 20px; }
.i1, .i4 { margin-right: 20px; }
.i2, .i5 { margin-left: 20px; margin-right: 20px; }
.i3, .i6 { margin-left: 20px; }
.i1 { grid-area: i1; }
.i2 { grid-area: i2; }
.i3 { grid-area: i3; }
.i4 { grid-area: i4; }
.i5 { grid-area: i5; }
.i6 { grid-area: i6; }
<div class="items">
<div class="i1">1</div>
<div class="i2">2</div>
<div class="i3">3</div>
<div class="i4">4</div>
<div class="i5">5</div>
<div class="i6">6</div>
</div>
推荐阅读
- php - orchestra testbench 将 SQLite 设置为默认数据库驱动程序,而不是我的 MySQL
- flutter - 如何将 showDateTimePicker() 更改为 12 小时格式?
- android - 如何避免使用选择器进行配套设备配对
- android - 如何输入 id 并将其带到 youtube?
- android - OnBindViewHolder 在 notifyDataSetChanged() 后调用但不改变 RecyclerView 的 item 值
- c++ - 使用 Boost MPL 字符串来回映射值
- java - Java swing JLabel 没有出现在 BorderLayout 中
- java - 在 java.lang.ref.Finalizer 上设置的 Java 断点未停止
- java - swgger ui object参数中的MultipartFile类型无法识别
- c++ - C++'没有重载函数的实例'为什么我会收到这个错误?