【问题标题】:Inconsistent grid area heights on Chrome vs FirefoxChrome 与 Firefox 上的网格区域高度不一致
【发布时间】:2018-08-28 12:44:27
【问题描述】:

在 Chrome 中我有 #main(橄榄色)300px(没关系)。

但在 Firefox 中我有 1180 像素。为什么?以及如何解决?

关注https://jsfiddle.net/jocke5a/vrrtyc65/1/

body {
  margin: 0;
  box-sizing: border-box;
}

* {
  box-sizing: border-box;
}

#wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 20px 120px 50px 20px 1fr;
  grid-auto-rows: max-content;
  grid-gap: 0px;
  margin: 0 auto;
}

#header {
  grid-column: 1 / 7;
  grid-row: 1 / 2;
  background-color: red;
}

#i-panel {
  grid-column: 3 / 5;
  grid-row: 2 / 3;
  background-color: yellow;
}

#s-panel {
  grid-column: 2 / 3;
  grid-row: 3 / 5;
  background-color: brown;
}

#n-panel {
  grid-column: 5 / 6;
  grid-row: 2 / 7;
  background-color: blue;
}

#set {
  grid-column: 4 / 5;
  grid-row: 3 / 4;
  background-color: green;
}

#hl-panel {
  grid-column: 4 / 5;
  grid-row: 4 / 7;
  background-color: orange;
}

#main {
  grid-column: 3 / 4;
  grid-row: 3 / 5;
  background-color: olive;
}

#komentare {
  grid-column: 3 / 4;
  grid-row: 5 / 6;
  background-color: gold;
}

#footer {
  grid-column: 1 / 7;
  grid-row: 7 / 8;
  background-color: pink;
}
<div id="wrapper">
  <div id="header">
    <div style="height: 60px;"></div>
  </div>
  <div id="i-panel">
    <div style="height: 10px;"></div>
  </div>
  <div id="s-panel">
    <div style="height: 300px;"></div>
  </div>
  <div id="n-panel">
    <div style="height: 0px;"></div>
  </div>
  <div id="set">
    <div style="height: 60px;"></div>
  </div>
  <div id="hl-panel">
    <div style="height: 3700px;"></div>
  </div>
  <div id="main">
    <div style="height: 270px;"></div>
  </div>
  <div id="komentare">
    <div style="height: 1700px;"></div>
  </div>
  <div id="footer">
    <div style="height: 60px;"></div>
  </div>
</div>

【问题讨论】:

    标签: css firefox grid css-grid


    【解决方案1】:

    高度不一致包括#main和#s-panel。

    这些元素的代码如下:

    #main {
      grid-column: 3 / 4;
      grid-row: 3 / 5;
      background-color: olive;
    }
    
    #s-panel {
      grid-column: 2 / 3;
      grid-row: 3 / 5;
      background-color: brown;
    }
    

    问题区域似乎是grid-row 属性

    如您所述,在 Chrome 中,grid-row: 3 / 5 导致两个元素的网格区域高度均为 300 像素。在 Firefox 中,两者的网格区域高度均为 1180 像素。

    无需进行更深入的调查,这可能需要比我现在更多的时间,我可以告诉你:如果你将两个元素都切换为grid-row: 3 / 4,那么它们的网格区域高度在两个浏览器上都变为 300px .

    【讨论】:

    • 在 nightly v61 中很好。我无法打开#main,因为#s-panel 在其他分辨率下处于其他位置。
    猜你喜欢
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 2016-04-19
    • 1970-01-01
    相关资源
    最近更新 更多