您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

CSS网格布局即使在带有前缀的IE11中也不起作用

CSS网格布局即使在带有前缀的IE11中也不起作用

IE11使用较旧版本的Grid规范。

您使用的属性在较早的网格规范中不存在。使用前缀没有区别。

我立即看到了三个问题。

repeat()功能在较早的规范中不存在,因此IE11不支持功能

代替:

.grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: repeat( 4, 1fr );
      grid-template-columns: repeat( 4, 1fr );
  -ms-grid-rows: repeat( 4, 270px );
      grid-template-rows: repeat( 4, 270px );
  grid-gap: 30px;
}

采用:

.grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr 1fr;             /* adjusted */
      grid-template-columns:  repeat( 4, 1fr );
  -ms-grid-rows: 270px 270px 270px 270px;        /* adjusted */
      grid-template-rows: repeat( 4, 270px );
  grid-gap: 30px;
}

span关键字在较早的规范中不存在,因此IE11不支持该关键字。您必须为这些浏览器使用等效的属性

代替:

.grid .grid-item.height-2x {
  -ms-grid-row: span 2;
      grid-row: span 2;
}
.grid .grid-item.width-2x {
  -ms-grid-column: span 2;
      grid-column: span 2;
}

采用:

.grid .grid-item.height-2x {
  -ms-grid-row-span: 2;          /* adjusted */
      grid-row: span 2;
}
.grid .grid-item.width-2x {
  -ms-grid-column-span: 2;       /* adjusted */
      grid-column: span 2;
}

grid-gap属性及其长期形式grid-column-gapgrid-row- gap在较早的规范中不存在,因此IE11不支持它们。您将必须找到另一种分隔框的方法。我还没有阅读完整的旧规范,因此可能有一种方法。否则,请尝试边距。

但是该功能从未在IE11中实现。(在当前浏览器中,网格项目的自动放置现在是标准的)。

因此,除非您专门定义网格项的位置,否则它们将堆叠在单元格1,1中。

使用-ms-grid-row-ms-grid-column属性

CSS 2022/1/1 18:21:45 有546人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶