html – 嵌套溢出滚动隐藏的溢出不起作用

前端之家收集整理的这篇文章主要介绍了html – 嵌套溢出滚动隐藏的溢出不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个问题,即div没有被剪切到父级,即使它有溢出:隐藏.

我已经查看了溢出:这里有关于stackoverflow的隐藏问题,但是大多数问题都有位置问题或似乎暗示我的代码应该有效.

这是一个MWE,你可以找到jsfiddle here

CSS:

#parent {
  height: 500px;
  overflow: hidden;
}

#scroller {
  overflow: scroll;
}

#child {
  height: 10000px;
}

我所期待的

#parent有溢出:隐藏,因此#scroller被剪裁到父级的高度.因为它的#child比生成的高度溢出高:滚动导致滚动条.

怎么了

#scroller只使用#child的高度并忽略两个溢出属性.

简单的解决方法呢?

>在我的真实问题中,#parent中有多个< div> s,所以我不能给#scroller一个高度.
> html是自动生成的,所以我不能只删除#scroller.

谢谢大家的帮助,
斯特凡

回答

评论中实际上只有一个css-only答案,显示:flex.看到:

https://jsfiddle.net/huocukw7/6/

#parent {
  height: 500px;
  overflow: hidden;
  display: flex;
  flex-direction:column;
}

#scroller {
  overflow: auto;
  flex-grow:1;
}

#child {
  height: 10000px;
}
最佳答案
您需要做的就是为#scroller提供高度

#scroller {
  overflow: scroll;
  padding: 10px;
  background-color: red;
  height: 100%;
}

Demo

按照你的观点 – 在我的真实世界问题中,#parent中有多个s,所以我不能给#scroller一个高度.

如果没有为其指定高度,没有其他方法可以使其可滚动.如果没有它,它将延伸直到子元素结束,这将不会使您的包装器可滚动.

您可以在此处使用JavaSript来计算运行时的高度并将其附加到元素.

原文链接:https://www.f2er.com/html/426617.html

猜你在找的HTML相关文章