Edge 44 和网格模板列的问题:继承
Issue with Edge 44 and grid-template-columns: inherit
我正在设计一个布局,该布局使用 CSS-grid,其中 breakout 部分使用 grid-template-columns: inherit;
。基本上使用本文中描述的技术:https://cloudfour.com/thinks/breaking-out-with-css-grid-layout/
这在主要浏览器中工作正常,但 Edge 44 除外,其中 grid-template-columns: inherit;
似乎破坏了布局。如果我只是手动复制继承的值,它显示正常。
任何人都知道为什么会这样,是否有办法在不手动复制继承值的情况下修复它?
这是一个展示问题的简短代码片段:
body {
display: grid;
grid-template-columns: [full-start] minmax(2em, 1fr) [main-start] minmax(0px, calc(500px / 2)) [main-right] minmax(0px, calc(500px / 2)) [main-end] minmax(2em, 1fr) [full-end];
}
.breakout {
background: grey;
width: 100%;
grid-column: full;
display: inherit;
grid-template-columns: inherit;
}
.content {
grid-column: main;
}
<body>
<div class = "breakout">
<div class = "content">
<p> This is the content inside the breakout element. It should sit properly within the grid, but for some reason it breaks in Edge 44. </p>
</div>
</div>
</body>
编辑:问题似乎源于 calc()
的继承。可能是错误?
我可以在 Microsoft Edge 44 版本上重现该问题,经过测试,似乎如果我们将 [full/main-start]
与 calc()
一起使用,它会在 Microsoft Edge 44 上显示此问题。
作为解决方法,您可以尝试为 grid-template-columns minmax() 函数设置固定大小。代码如下:
body {
display: grid;
grid-template-columns: [full-start] minmax(2em, 1fr) [main-start] minmax(0px, 250px) [main-right] minmax(0px, 250px) [main-end] minmax(2em, 1fr) [full-end];
}
.breakout {
background: grey;
width: 100%;
grid-column: full;
display: inherit;
grid-template-columns: inherit;
}
.content {
grid-column: main;
}
然后输出如下:
我正在设计一个布局,该布局使用 CSS-grid,其中 breakout 部分使用 grid-template-columns: inherit;
。基本上使用本文中描述的技术:https://cloudfour.com/thinks/breaking-out-with-css-grid-layout/
这在主要浏览器中工作正常,但 Edge 44 除外,其中 grid-template-columns: inherit;
似乎破坏了布局。如果我只是手动复制继承的值,它显示正常。
任何人都知道为什么会这样,是否有办法在不手动复制继承值的情况下修复它?
这是一个展示问题的简短代码片段:
body {
display: grid;
grid-template-columns: [full-start] minmax(2em, 1fr) [main-start] minmax(0px, calc(500px / 2)) [main-right] minmax(0px, calc(500px / 2)) [main-end] minmax(2em, 1fr) [full-end];
}
.breakout {
background: grey;
width: 100%;
grid-column: full;
display: inherit;
grid-template-columns: inherit;
}
.content {
grid-column: main;
}
<body>
<div class = "breakout">
<div class = "content">
<p> This is the content inside the breakout element. It should sit properly within the grid, but for some reason it breaks in Edge 44. </p>
</div>
</div>
</body>
编辑:问题似乎源于 calc()
的继承。可能是错误?
我可以在 Microsoft Edge 44 版本上重现该问题,经过测试,似乎如果我们将 [full/main-start]
与 calc()
一起使用,它会在 Microsoft Edge 44 上显示此问题。
作为解决方法,您可以尝试为 grid-template-columns minmax() 函数设置固定大小。代码如下:
body {
display: grid;
grid-template-columns: [full-start] minmax(2em, 1fr) [main-start] minmax(0px, 250px) [main-right] minmax(0px, 250px) [main-end] minmax(2em, 1fr) [full-end];
}
.breakout {
background: grey;
width: 100%;
grid-column: full;
display: inherit;
grid-template-columns: inherit;
}
.content {
grid-column: main;
}
然后输出如下: