【发布时间】:2017-11-15 14:28:06
【问题描述】:
我正在玩 css 网格布局并关注 this tutorial,我想知道如何添加一个滚动条,在一定高度后内容会垂直滚动。
到目前为止,我所有的尝试都制作了滚动条,但底部箭头被切断了。
https://codepen.io/anon/pen/rwLRpJ
<div class="grid-container">
<div class="grid-element header">Header</div>
<div class="grid-element sidebar">
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
<div> test </div>
</div>
<div class="grid-element main">
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
<div class="input-field">
<input placeholder="Placeholder" type="text" class="validate">
</div>
</div>
</div>
body {
text-align: center;
font-family: "Dosis";
}
.grid-container {
display: grid;
grid-template-columns: 0.25fr 10px 0.75fr;
grid-template-rows: auto 20px auto 20px auto 20px auto;
height: 100vh;
}
.grid-element {
background-color: #444;
color: #fff;
padding: 20px;
font-size: 2em;
}
.header {
grid-column-start: 1;
grid-column-end: 4;
grid-row-start: 1;
grid-row-end: 2;
background: #69F;
}
.sidebar {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 3;
grid-row-end: 6;
background: #6F9;
overflow-y: auto;
}
.main {
grid-column-start: 3;
grid-column-end: 4;
grid-row-start: 3;
grid-row-end: 4;
background: #F69;
}
【问题讨论】:
-
所描述的问题还很不清楚。你使用的是什么浏览器?在 Linux 上的 Chrome 中看起来不错。我很少在 SO 上这么说,但你能提供截图吗?
-
Chrome 的最新版本,是我想要让它工作的。
-
我在 codepen 中使用侧面板视图查看它,并且窗口的高度足以容纳整个高度。我现在遇到了问题。
-
只需将
min-height: 0添加到.grid-element:codepen.io/anon/pen/WOGQvv -
网格项目的初始设置是
min-height: auto。这意味着项目将至少是其内容的高度。这就是您在布局中看到的内容。为了使网格项目缩小到其内容大小以下,您需要覆盖默认值。这可以通过min-height: 0完成。有关更多详细信息,请参阅骗子。
标签: html css grid-layout css-grid