【发布时间】:2019-04-22 16:13:57
【问题描述】:
第三个网格项“blank1”应该跨行并覆盖第 3 列的第 1 行和第 2 行,但它在 IE 11 中不起作用。它只覆盖第一行。
这是在线文件的链接。在 Firefox 中查看它,它会显示它应该是什么样子。 IE 11 需要修复。
.wrapper {
display: -ms-grid;
display: grid;
-ms-grid-columns: 300px 300px 300px;
grid-template-columns: 300px 300px 300px;
-ms-grid-rows: 200px 200px 200px 200px;
grid-template-rows: 200px 200px 200px 200px;
background-color: #fff;
}
.wrapper > *:nth-child(1) {
-ms-grid-row: 1;
-ms-grid-column: 1;
}
.wrapper > *:nth-child(2) {
-ms-grid-row: 1;
-ms-grid-column: 2;
}
.wrapper > *:nth-child(3) {
-ms-grid-row: 1;
-ms-grid-column: 3;
}
.wrapper > *:nth-child(4) {
-ms-grid-row: 2;
-ms-grid-column: 1;
}
.wrapper > *:nth-child(5) {
-ms-grid-row: 2;
-ms-grid-column: 2;
}
.wrapper > *:nth-child(6) {
-ms-grid-row: 2;
-ms-grid-column: 3;
}
.wrapper > *:nth-child(7) {
-ms-grid-row: 3;
-ms-grid-column: 1;
}
.wrapper > *:nth-child(8) {
-ms-grid-row: 3;
-ms-grid-column: 2;
}
.wrapper > *:nth-child(9) {
-ms-grid-row: 3;
-ms-grid-column: 3;
}
.wrapper > *:nth-child(10) {
-ms-grid-row: 4;
-ms-grid-column: 1;
}
.wrapper > *:nth-child(11) {
-ms-grid-row: 4;
-ms-grid-column: 2;
}
.wrapper > *:nth-child(12) {
-ms-grid-row: 4;
-ms-grid-column: 3;
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 20px;
font-size: 150%;
}
.print {
-ms-grid-column: 1;
grid-column-start: 1;
-ms-grid-column-span: 1;
grid-column-end: 2;
-ms-grid-row: 1;
grid-row-start: 1;
-ms-grid-row-span: 1;
grid-row-end: 2;
background-color:white;
}
.ad {
-ms-grid-column: 2;
grid-column-start: 2;
-ms-grid-column-span: 1;
grid-column-end: 3;
-ms-grid-row: 1;
grid-row-start: 1;
-ms-grid-row-span: 1;
grid-row-end: 2;
background-color:234;
}
.blank1 {
-ms-grid-column: 3;
grid-column-start: 3;
-ms-grid-column-span: 1;
grid-column-end: 4;
-ms-grid-row: 1;
grid-row-start: 1;
-ms-grid-row-span: 2;
grid-row-end: 3;
background-color:678;
}
.search {
-ms-grid-column: 1;
grid-column-start: 1;
-ms-grid-column-span: 1;
grid-column-end: 2;
-ms-grid-row: 2;
grid-row-start: 2;
-ms-grid-row-span: 1;
grid-row-end: 3;
background-color:white;
}
.logo {
-ms-grid-column: 2;
grid-column-start: 2;
-ms-grid-column-span: 1;
grid-column-end: 3;
-ms-grid-row: 2;
grid-row-start: 2;
-ms-grid-row-span: 1;
grid-row-end: 3;
background-color:678;
}
.menu {
-ms-grid-column: 1;
grid-column-start: 1;
-ms-grid-column-span: 1;
grid-column-end: 2;
-ms-grid-row: 3;
grid-row-start: 3;
-ms-grid-row-span: 1;
grid-row-end: 4;
background-color:789;
}
.content {
-ms-grid-column: 2;
grid-column-start: 2;
-ms-grid-column-span: 1;
grid-column-end: 3;
-ms-grid-row: 3;
grid-row-start: 3;
-ms-grid-row-span: 1;
grid-row-end: 4;
background-color:567;
}
.rightside {
-ms-grid-column: 3;
grid-column-start: 3;
-ms-grid-column-span: 1;
grid-column-end: 4;
-ms-grid-row: 3;
grid-row-start: 3;
-ms-grid-row-span: 2;
grid-row-end: 5;
background-color:orange;
}
.blank2 {
-ms-grid-column: 1;
grid-column-start: 1;
-ms-grid-column-span: 1;
grid-column-end: 2;
-ms-grid-row: 4;
grid-row-start: 4;
-ms-grid-row-span: 1;
grid-row-end: 5;
background-color:red;
}
.footer {
-ms-grid-column: 2;
grid-column-start: 2;
-ms-grid-column-span: 1;
grid-column-end: 3;
-ms-grid-row: 4;
grid-row-start: 4;
-ms-grid-row-span: 1;
grid-row-end: 5;
background-color:289;
}
<div class="wrapper">
<div class="box print">print</div>
<div class="box ad">ad</div>
<div class="box blank1">blank1</div>
<div class="box search">search</div>
<div class="box logo">logo</div>
<div class="box menu">menu</div>
<div class="box content">content</div>
<div class="box rightside">right side</div>
<div class="box blank2">blank2</div>
<div class="box footer">footer</div>
</div>
【问题讨论】:
-
我在粗略的审查中没有发现任何问题。你检查过这里吗:stackoverflow.com/q/45786788/3597276
-
我看了那个帖子。它说 IE 不支持跨度。我正在使用的代码具有 ms 前缀,并且由自动生成的代码应用程序插入到代码中。我不会想到它会为 ie 生成不被 ie 接受的代码???去看看行跨度的解决方法是什么。
-
我不明白!这就是我发现在 11 中跨越两行的方式。-ms-grid-row-span: 2;这就是我在代码中的内容,但它不起作用。
标签: html css internet-explorer css-grid