gpt4 book ai didi

css - 避免与 CSS 网格重叠元素(在 IE11 中)

转载 作者:行者123 更新时间:2023-12-03 03:36:23 25 4
gpt4 key购买 nike

我有最简单的 CSS 网格

.grid {
display: -ms-grid;
display: grid;
-ms-grid-columns: 50% 50%;
grid-template-columns: 1fr 1fr;
}

.cell {
border: 1px solid black;
}

Here ,一个工作示例。

在主要浏览器上,它按预期工作,但在 Internet Explorer 11 中,网格元素重叠。

有没有办法(无需将它们转为 Flex)来解决 IE11 上的该问题?

最佳答案

问题基本上归结为 IE 不像其他浏览器那样进行自动放置。除非你告诉它你想要网格中每个元素的位置,否则它会假设你想要第 1 列第 1 行中的所有内容。如果这是一个动态网站,你最好使用 Flexbox。如果它像你的例子,并且你知道每个元素要去哪里,那么你必须这样说:

.grid {
display: -ms-grid;
display: grid;
-ms-grid-columns: 50% 50%;
grid-template-columns: 1fr 1fr;
}

.cell {
border: 1px solid black;
}

.cell:first-of-type{
-ms-grid-column: 1;
-ms-grid-row: 1;
-ms-grid-column-span: 1;
}

.cell:last-of-type{
-ms-grid-column: 2;
-ms-grid-row: 1;
-ms-grid-column-span: 1;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div class="grid">
<div class="cell">a</div>
<div class="cell">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b</div>
</div>
</body>
</html>

综上所述,如果您确实需要 IE 支持,您可能应该坚持使用 Flexbox。他们只是合不来。

更新:我最近偶然发现了一篇文章,概述了如果您正在做网格模板区域之类的事情,如果设置正确,Autoprefixer 将如何为您完成繁重的工作。仍然没有自动放置,但如果您正在制作模板并放置元素,它确实可以节省您一些时间。 Read This Article

关于css - 避免与 CSS 网格重叠元素(在 IE11 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51982343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com