【发布时间】:2018-01-06 03:16:30
【问题描述】:
遇到 IE 和 Edge 特定问题。玩弄“CSS 网格布局”和auto 宽度似乎在 IE 10/11 甚至最新版本的 Edge 中都不起作用。 (在 Chrome 和 FireFox 中运行良好。)
.test {
width 100%;
}
.test #contain {
display: -ms-grid;
display: grid;
-ms-grid-columns: 50px 10px auto;
-ms-grid-rows: 50px;
grid-template-columns: 50px auto;
grid-template-rows: 50px;
grid-column-gap: 10px;
}
.test .sec1 {
-ms-grid-row: 1;
-ms-grid-column: 1;
background-color: red;
}
.test .sec2 {
-ms-grid-row: 1;
-ms-grid-column: 3;
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
background-color: red;
}
<div class="test">
<div id="contain">
<div class="sec1">1</div>
<div class="sec2">2</div>
</div>
</div>
那么是我的错误还是微软再次制造了蹩脚的东西?
此外,我认为 Edge 应该具有最新 CSS 网格的完整实现,但我想不会,因为我仍然需要使用 -ms。
【问题讨论】:
-
IE10/11 使用较旧的语法,Edge 版本 16 之前也是如此。caniuse.com/#search=grid Microsoft 浏览器总是一团糟。
-
@Rob Grid 在 IE10 中工作。
-
如果您只打算使用网格的第二列(sec2 从第 3 列开始,而 sec 1 只占 1 列),我建议您使用网格排水沟。 developer.mozilla.org/en-US/docs/Web/CSS/grid-row-gap。我最近也开始使用 Grid,对于现代浏览器来说,这是一种乐趣。对于任何与微软相关的事情,我都觉得很痛苦。
-
@VadimOvchinnikov 是的。记错了。
-
@Rob 您对旧语法的评论不相关,因为 OP 成功使用了它。他为 IE/Edge 添加了手动单元格定位,并使用额外的列伪造了
grid-gap。
标签: css internet-explorer-11 microsoft-edge css-grid