答案是NO(不幸)。
Old specs section about auto-placement有这样的序言
本节介绍了各地的网格项目的自动布局早思考。多种算法可用于这种功能。一个是在这里提出的。
运行这段代码在IE /边缘,你会在控制台中看到很多行与1
因为IE /边堆在第一个单元格的所有网格项目,你不能强迫IE /边缘的地方电网项目自动。设置-ms-grid-column
和-ms-grid-row
到auto
不会更改任何内容,因为不支持此值(如您在MSDN链接中所见)。演示:
var gridItems = document.querySelectorAll(".grid__item");
for (var i = 0; i < gridItems.length; i++) {
var gridItem = gridItems[i];
console.log(window.getComputedStyle(gridItem)["-ms-grid-row"]);
console.log(window.getComputedStyle(gridItem)["-ms-grid-column"]);
}
.grid {
display: -ms-grid;
-ms-grid-columns: 100px 100px 100px;
-ms-grid-rows: 100px 100px 100px;
}
.grid__item {
-ms-grid-row: auto;
-ms-grid-column: auto;
background-color: tomato;
color: white;
font-size: 20px;
display: flex;
align-items: center;
justify-content: center;
}
<div class="grid">
<div class="grid__item">One</div>
<div class="grid__item">Two</div>
<div class="grid__item">Three</div>
<div class="grid__item">Four</div>
<div class="grid__item">Five</div>
<div class="grid__item">Six</div>
<div class="grid__item">Seven</div>
<div class="grid__item">Eight</div>
<div class="grid__item">Nine</div>
</div>
根据旧/ IE电网规范,答案是肯定的。 https://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/#automatic-placement-of-grid-items –
@Michael_B由于我对该规范的这一部分的理解,这应该工作:https://codepen.io/JoeHastings/pen/MvydYv,但它似乎并没有 –