【发布时间】:2019-06-05 21:14:04
【问题描述】:
我在页面上使用 CSS 网格布局,但它在 IE11 上的两个网格元素之间产生了巨大的内容差距:
这在 Chrome 和 FF 中显然很好。这就是我的 CSS 所拥有的,我已经通过 AutoPrefixer 运行了:
.row--grid {
display: grid;
display: -ms-grid;
-ms-grid-columns: 2fr 1fr;
grid-template-columns: 2fr 1fr;
-ms-grid-rows: auto 1fr;
grid-template-rows: auto 1fr;
margin-left: -15px;
margin-right: -15px;
}
.row--grid > *:nth-child(1) {
-ms-grid-row: 1;
-ms-grid-column: 1;
}
.row--grid > *:nth-child(2) {
-ms-grid-row: 1;
-ms-grid-column: 2;
}
.row--grid > *:nth-child(3) {
-ms-grid-row: 2;
-ms-grid-column: 1;
}
.row--grid > *:nth-child(4) {
-ms-grid-row: 2;
-ms-grid-column: 2;
}
.top__content {
-ms-grid-column: 1;
grid-column: 1;
}
.sidebar__col {
-ms-grid-column: 2;
grid-column: 2;
grid-row: 1 / -1;
margin-left: 50px;
width: 100%;
padding-right: 20px;
max-width: 320px;
}
.main__content {
-ms-grid-column: 1;
grid-column: 1;
}
HTML:
<div class="row--grid">
<div class=" top__content">
<h1>Title...</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
</div>
<div class="sidebar__col">
<h2>Sidebar</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
</div>
<div class="main__content">
<h3>Other Content Area</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
</div>
</div>
我开始搞砸了,我注意到:
.row--grid > *:nth-child(3) {
-ms-grid-row: 2;
-ms-grid-column: 1;
}
看起来它正在制造这种差距。唯一的问题是我不确定是否有什么东西可以控制auto?仍然把我的头绕在 CSS 网格周围,然后尝试调试 IE 像往常一样有问题。
【问题讨论】:
-
请同时包含您页面的 HTML -- 我们需要查看 minimal reproducible example。
-
尝试使用F12开发者工具找到相关项,然后查看相关css样式,最好知道是哪部分代码导致了这个问题。此外,您能否发布足够的代码来重现问题,如Minimal, Complete, and Verifiable example。
-
行动党!我的错。看起来那没有粘贴,然后我不得不离开。更新为包含一些 HTML。
标签: html css internet-explorer internet-explorer-11 css-grid