【发布时间】:2018-01-05 19:17:26
【问题描述】:
我有一个使用以下 css-grid 样式的“日历”布局:
.calendar {
display: grid;
grid-template-columns: repeat(7, 1fr);
grid-template-rows: 1.5em 1.5em repeat(6, 1fr);
width: 100%;
height: 100%;
}
(代码笔https://codepen.io/joelhoward0/pen/vJLmWK)
前两行是“控件”标题和星期标题,然后是该月中每一天的 div:
<div class="day">
<div class="header">26</div>
<div class="content"></div>
</div>
每一天都有一个.header 和.content div。我希望.header div 占据行高的 1/5,内容占据 4/5 并在内容溢出时滚动。
但是,我尝试过的任何样式组合都会导致 .content 增长,缩小其他网格行以进行补偿。我认为这是由于在容器 grid-template-rows 上使用了1fr。
是否可以在.content div 上实现网格行高的 4/5 的最大高度,即可用垂直空间的 1/6?
(注意:在.day 上设置overflow-y: auto; 达到了我想要的效果,但是标题包含在滚动区域中。在.content 上设置overflow-y: auto; 似乎不起作用任何东西。)
【问题讨论】: