html - SASS 将 -ms 前缀添加到 css 网格,但它在 IE 中不起作用
问题描述
当我们使用 sass 时,它会自动为不同的浏览器添加前缀。
萨斯代码
.grid-container{
display: grid;
grid-template-columns: repeat(4,1fr);
grid-template-rows: 1fr 1fr;
}
CSS代码
.grid-container {
display: -ms-grid;
display: grid;
-ms-grid-columns: (1fr)[4];
grid-template-columns: repeat(4, 1fr);
-ms-grid-rows: 1fr 1fr;
grid-template-rows: 1fr 1fr;
}
它还为网格列添加了 Internet Explorer 前缀 (-ms)。但是 Internet Explorer 仍然不支持 css 网格。这是什么意思?那么为什么在我使用 sass 时它包含 -ms 前缀来显示网格,除非 IE 不支持 css 网格?
解决方案
IE 需要的不仅仅是-ms-
带有 grid 的前缀。IE 没有网格元素的自动流动。如果要在 IE 中使网格工作,则需要为每个网格元素分配特定的网格位置。
请参考下面的示例,它可以在 IE 11 中正常工作:
.grid-container {
display: -ms-grid;
display: grid;
-ms-grid-columns: (1fr)[4];
grid-template-columns: repeat(4, 1fr);
-ms-grid-rows: 1fr 1fr;
grid-template-rows: 1fr 1fr;
}
.item1 {
-ms-grid-column: 1;
-ms-grid-row: 1;
}
.item2 {
-ms-grid-column: 2;
-ms-grid-row: 1;
}
.item3 {
-ms-grid-column: 3;
-ms-grid-row: 1;
}
.item4 {
-ms-grid-column: 4;
-ms-grid-row: 1;
}
<div class="grid-container">
<div class="item1">111</div>
<div class="item2">222</div>
<div class="item3">333</div>
<div class="item4">444</div>
</div>
推荐阅读
- shex - 在执行 Shex 验证时,如何在 RDF 中允许不可预见的属性?
- oracle-sqldeveloper - 我想加入 3 个表并从每个表中选择 1 个列
- jsf - p:dataTable 在第一次尝试时不更新
- svg - SVG类在 Safari 中不起作用
- cassandra - 如果我通过二级索引查询它是如何排序的?
- sql - 使用oracle计算两个日期之间的时间差(以秒为单位)
- javascript - React Native 无法在未安装的组件 firebase 上执行 React 状态更新
- javascript - Javascript - 返回 2 个多边形时的 onclick 问题
- javascript - React 组件库的汇总配置不适用于 SSR
- angular - 更改 registerForm 值(布尔值到数字)