CSS Firefox 和 Chrome 中的网格溢出行为不同
CSS Grid oveflow behaviour different in Firefox and Chrome
我注意到 Firefox 中的滚动行为不同,Chrome 在下面的片段中。在 Firefox 中只有 .main
滚动,在 Chrome 中,整个 body 滚动。我在做一些不规范的事情吗?哪个浏览器合适?如何让 Chrome 像 Firefox 一样运行?
https://jsfiddle.net/Lgzb45np/
body {
height: 100vh;
}
.container {
display: grid;
grid-template: 50px 1fr / 240px 1fr;
height: 100%;
}
.header {
grid-area: 1/1;
}
.sidebar {
grid-area: 2/1;
}
.main {
grid-area: 2/2;
height: 100%;
overflow: auto;
}
.large-div{
height: 800px;
}
<div class="container">
<div class="header">Some Header Row</div>
<div class="sidebar">A Sidebar</div>
<div class="main">
<div class="large-div">This is large</div>
And Some More</div>
</div>
从 .main
中删除 height: 100%
应该可以。您已经定义了 .main
列 (1fr)
的高度大小
CSS
.main {
grid-area: 2/2;
overflow: auto;
}
我注意到 Firefox 中的滚动行为不同,Chrome 在下面的片段中。在 Firefox 中只有 .main
滚动,在 Chrome 中,整个 body 滚动。我在做一些不规范的事情吗?哪个浏览器合适?如何让 Chrome 像 Firefox 一样运行?
https://jsfiddle.net/Lgzb45np/
body {
height: 100vh;
}
.container {
display: grid;
grid-template: 50px 1fr / 240px 1fr;
height: 100%;
}
.header {
grid-area: 1/1;
}
.sidebar {
grid-area: 2/1;
}
.main {
grid-area: 2/2;
height: 100%;
overflow: auto;
}
.large-div{
height: 800px;
}
<div class="container">
<div class="header">Some Header Row</div>
<div class="sidebar">A Sidebar</div>
<div class="main">
<div class="large-div">This is large</div>
And Some More</div>
</div>
从 .main
中删除 height: 100%
应该可以。您已经定义了 .main
列 (1fr)
CSS
.main {
grid-area: 2/2;
overflow: auto;
}