首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作100%高度可滚动区的div

如何制作100%高度可滚动区的div
EN

Stack Overflow用户
提问于 2021-06-20 14:54:42
回答 2查看 41关注 0票数 0

我有一个固定高度的div容器。这个div里面有一些内容,这使得它可以滚动。我需要在容器内插入一些div,并使它们具有100%的可滚动区域高度。我该怎么做呢?

示例如下:

代码语言:javascript
复制
header {
  border: 1px solid #000;
  height: 70px;
  width: 300px;
  overflow-y: scroll;
  display: flex;

  position: relative;
  box-sizing: border-box;
}

.grid {
  position: relative;
  border: 1px solid green;
  flex-grow: 1;
  
}

.event {
  position: absolute;
  border: 1px solid red;
  height: 50px;
  padding: 0;
  width: 92px;
  background: rgba(200,0,0, 0.05)
}

.event-2 {
  transform: translateY(100%)
}
代码语言:javascript
复制
<header>
    <div class="grid"></div>
    <div class="grid"></div>
    <div class="grid"></div>
    <div class="event event-1">1</div>
    <div class="event event-2">2</div>
</header>

我需要使绿色的方框完全高度的可滚动区域。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-20 20:27:08

如果你可以使用Javascript,一个优雅的解决方案是:

代码语言:javascript
复制
let headerHeight = document.querySelector('header').scrollHeight ;
let grid = document.getElementsByClassName('grid') ;


for (let i = 0; i < grid.length ; i++){
  grid[i].style.height = headerHeight + 'px' ;
}

因为我们需要捕捉总的滚动高度,所以如果不改变DOM结构,就不能在完整的CSS中做到这一点。

票数 1
EN

Stack Overflow用户

发布于 2021-06-20 14:59:53

只需将网格的高度设置为所需的值并使用

代码语言:javascript
复制
.grid{
overflow:scroll;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68053374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档