CSS 网格供应商前缀不适用于 Internet Explorer

标签 css internet-explorer

我遵循列出的 IE 10+ CSS 网格供应商前缀规范 here但是 CSS 网格在 IE 11 中对我来说不能正常工作。它在 Edge 中也不起作用。不过在 Google Chrome 和 Firefox 上一切正常。这是我的 codepen .我尝试将 vmin 和 fr 单位更改为 px,但问题仍然存在。谁能告诉我我做错了什么?这是我第一次使用 Grid,也许这只是一个我没有看到的简单修复。提前致谢

/*

  1fr = 167px(width of uppermost leftmost white rectangle of painting)
  1vmin = .01 * 726px(height of entire painting)

*/

/* General Styles */
* {box-sizing: border-box;}

body {
  background: #000;
  font-size: 1rem;
  margin: 0;
  padding: 0;
}

.grid {
  display: -ms-grid;
  display: grid;
}

/* Margins */
.margin-right {
  margin-right: 2.6vmin;
}

.margin-bottom {
  margin-bottom: 2.6vmin;
}

/* Colors */
.white {
  background: #fff;
}

.yellow {
  background: #ffcf00;
}

.red {
  background: #df0000;
}

.blue {
  background: #2822dd;
}

.black {
  background: #000;
}

/* Grid Container */
.grid-container {

}

/* Grid One */
.grid-one {
  -ms-grid-columns: 1fr 1.72fr .50fr .38fr .28fr;
  -ms-grid-rows: 9.50vmin;
  grid-template-columns: 1fr 1.72fr .50fr .38fr .28fr;
  grid-template-rows: 9.50vmin;
}

/* Grid Two */
.grid-two {
  -ms-grid-columns: .51fr 2.22fr .50fr .38fr .28fr;
  -ms-grid-rows: 29vmin;
  grid-template-columns: .51fr 2.22fr .50fr .38fr .28fr;
  grid-template-rows: 29vmin;
}

/* Grid Three */
.grid-three {
  -ms-grid-columns: .51fr 2.22fr .50fr .38fr .28fr;
  -ms-grid-rows: 19vmin;
  grid-template-columns: .51fr 2.22fr .50fr .38fr .28fr;
  grid-template-rows: 19vmin;
}

/* Grid Four */
.grid-four {
  -ms-grid-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  -ms-grid-rows: 10.06vmin;
  grid-template-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  grid-template-rows: 10.06vmin;
}

/* Grid Five */
.grid-five {
  -ms-grid-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  -ms-grid-rows: 10.06vmin;
  grid-template-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  grid-template-rows: 10.06vmin;
}

/* Grid Six */
.grid-six {
  -ms-grid-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  -ms-grid-rows: 6.34vmin;
  grid-template-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  grid-template-rows: 6.34vmin;
}

/* Grid Seven */
.grid-seven {
  -ms-grid-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  -ms-grid-rows: 2.89vmin;
  grid-template-columns: .51fr 1.11fr 1.11fr .88fr .28fr;
  grid-template-rows: 2.89vmin;
}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Mondrian</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="../css/styles.css">
</head>
<body>


<div class="grid grid-one">
  <div class="white margin-right margin-bottom"></div>
  <div class="white margin-right margin-bottom"></div>
  <div class="yellow margin-bottom"></div>
  <div class="yellow margin-right margin-bottom"></div>
  <div class="white"></div>
</div>

<div class="grid grid-two">
  <div class="white margin-right"></div>
  <div class="red margin-right"></div>
  <div class="yellow margin-bottom"></div>
  <div class="yellow margin-right margin-bottom"></div>
  <div class="white"></div>
</div>

<div class="grid grid-three">
  <div class="white margin-right"></div>
  <div class="red margin-right margin-bottom"></div>
  <div class="white margin-right margin-bottom"></div>
  <div class="white margin-right margin-bottom"></div>
  <div class="white"></div>
</div>

<div class="grid grid-four">
  <div class="white margin-right margin-bottom"></div>
  <div class="black margin-right margin-bottom"></div>
  <div class="white margin-right margin-bottom"></div>
  <div class="white margin-right margin-bottom"></div>
  <div class="white margin-bottom"></div>
</div>

<div class="grid grid-five">
  <div class="yellow margin-right"></div>
  <div class="white margin-right margin-bottom"></div>
  <div class="white margin-right margin-bottom"></div>
  <div class="blue margin-right"></div>
  <div class="red"></div>
</div>

<div class="grid grid-six">
  <div class="yellow margin-right"></div>
  <div class="white margin-right"></div>
  <div class="black margin-right margin-bottom"></div>
  <div class="blue margin-right margin-bottom"></div>
  <div class="red"></div>
</div>

<div class="grid grid-seven">
  <div class="yellow margin-right"></div>
  <div class="white margin-right"></div>
  <div class="white"></div>
  <div class="white margin-right"></div>
  <div class="red"></div>
</div>

</body>
</html>

最佳答案

感谢 Lister 先生,我了解到 IE10 的当前实现已过时...这意味着目前无法在 IE 上正确查看网格。刚刚看到来自@jensimmons 的一条推文,称 CSS Grid 将于 10 月 17 日登陆 MS Edge。

关于CSS 网格供应商前缀不适用于 Internet Explorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46010518/

相关文章:

css - 无法选择(单击)子菜单项

javascript - 如何避免将 JavaScript 与 CSS 属性选择器一起使用

javascript - IE 扩展 - 注入(inject) Javascript 文件

jQuery 使 Internet Explorer 崩溃

css - 好的旧重叠菜单,如何对 activeX 进行 z-index

javascript - 在用户按下以 Bootstrap 模式提交表单后,如何显示成功消息?

html - 有没有办法在 Bootstrap 4 中以不同的列大小有条件地将图像居中?

css - 对必须在视口(viewport)之间调整大小的图像使用 Bootstrap

css - last-child 在 IE8 浏览器中不工作

html - 如何防止滚动条与内容重叠?