如果-ms-grid-row在grid-row之前,为什么不起作用?

问题描述 投票:0回答:1

我有一些这样定义的CSS类:

  .class-1,
  .class-2 {
    grid-row: 1/2;
    -ms-grid-row: 1;
  }

并且它们的行为符合预期。但是,如果我交换属性的顺序,即将其更改为

  .class-1,
  .class-2 {
    -ms-grid-row: 1;
    grid-row: 1/2;
  }

然后IE看不到-ms-grid-row属性(根据开发人员工具检查器,它不存在)。在这两种情况下,Chrome都能看到网格行。

知道为什么会这样,或者在什么条件下会发生这种情况?我以前从未遇到过这个问题。如果相关,我也使用Sass

css internet-explorer sass css-grid
1个回答
0
投票

-ms-grid-row如果在grid-row之前不起作用?

因为IE具有grid-row属性,但未以标准方式实现,并且浏览器将采用它可以识别的最后一个属性(这是css中的默认行为)。

例如,如果只想将-ms-grid-row限制为IE,然后将其放置在可以使用@support@media(这是一种骇人听闻的方式)之后:

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  -ms-grid-row: 1;
}

仅在IE中有效。

© www.soinside.com 2019 - 2024. All rights reserved.