【发布时间】:2020-01-29 09:30:44
【问题描述】:
我有一个带有工作区和两个页脚的网格布局。所有这些元素都在 CSS 中设置了resize: vertical。当我调整工作区(顶部元素)的大小时,网格容器本身会很好地调整大小。但是,当我调整页脚大小时,有两个问题:
- 网格容器的大小保持不变,不会扩展/收缩。
- 另一个页脚的大小没有改变,因此要么页脚开始相互重叠,要么它们之间出现空白。
期望的行为:
- 调整页脚 1 的大小时,页脚 2 会展开/收缩
- 调整页脚 2 的大小时,网格容器本身会展开/收缩
我假设我需要一些 JavaScript 来实现所需的行为?
.grid-container {
display: grid;
border: 3px dotted red;
grid-gap: 3px;
grid-template-rows: 1fr 200px 200px;
grid-template-columns: 1fr;
}
.workspace {
grid-row-start: 1;
grid-row-end: 1;
border: 3px dotted blue;
resize: vertical;
overflow:scroll;
height:200px;
}
#chart {
height:1000px;
width:1000px;
}
.footer1 {
grid-row-start: 2;
grid-row-end: 2;
border: 3px dotted blue;
overflow: scroll;
resize: vertical;
}
.footer2 {
grid-row-start: 3;
grid-row-end: 3;
border: 3px dotted blue;
overflow: scroll;
resize: vertical;
}
<div class="grid-container">
<div class="workspace">
<div id="chart"></div>
</div>
<div class="footer1">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque congue placerat odio sed fringilla. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse luctus velit ipsum, vitae finibus metus auctor ut. Nullam ac elit quis turpis consectetur ultricies in consectetur massa.
</div>
<div class="footer2"> <br> <br> <br> <br> <br> <br> </div>
</div>
【问题讨论】:
-
为什么是
grid-template-rows: 1fr 200px 200px;? -
@MatanSanbira 这只是作为明智的默认值。你是说如果我在任何地方都使用
fr,它会起作用吗?
标签: javascript css