Javascript div上的滚动条只有在包含30个以上的项目时才会出现

Javascript div上的滚动条只有在包含30个以上的项目时才会出现,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个容器div,其中包含其他div(列表项)。 此容器分区的大小应等于30个项目的高度。 如果container div中有30多个项目,那么它应该保持相同的大小,但显示垂直滚动条 问题: 有没有一种方法可以通过CSS设置这个容器div的样式,这样只有在添加了30多个列表项之后,才会出现滚动条? 或者我必须在CSS中“硬编码”容器div的高度,这将是list_item*30。或者其他可能性:使用JavaScript动态更改 根据列表项高度初始化容器。这些是唯一正确的吗 如何做到这一点 谢谢。

我有一个容器div,其中包含其他div(列表项)。 此容器分区的大小应等于30个项目的高度。 如果container div中有30多个项目,那么它应该保持相同的大小,但显示垂直滚动条

问题:

有没有一种方法可以通过CSS设置这个容器div的样式,这样只有在添加了30多个列表项之后,才会出现滚动条? 或者我必须在CSS中“硬编码”容器div的高度,这将是list_item*30。或者其他可能性:使用JavaScript动态更改 根据列表项高度初始化容器。这些是唯一正确的吗 如何做到这一点


谢谢。

如果列表中的每个项目都有相同的高度,“硬编码”可能是更简单的方法。只需将item_height*30的高度设置为div,并设置
溢出:auto

将CSS高度提到父div,将overflow-y提到滚动

这里我为父div取两个div高度

这里的例子

enter code here

我假设您的div在容器内具有动态高度?还是他们都一样高?如果它们是动态的,你必须使用javascript,比如检查有多少列表项存在,如果超过30,则设置溢出自动或滚动。如果每个元素的高度都相同,您只需为容器div指定items的高度*30,并通过cssIn设置溢出属性,实际上它们是相同的。。。我只是想知道,如果没有将父项高度设置为list_item*30,是否还有其他方法。因为在此之后,如果有人更改列表项高度,他也必须更改父容器高度。谢谢你,古蒂。是的,我也是这么想的。如果项目的高度已知-CSS(您的JSFIDLE)。如果不是,则应使用JavaScript。看起来这是唯一的方法,这次没有CSS魔法。谢谢。我更新了JSFIDLE。就这么过去吧。这里我也提到了2个内部div。如果你想用30 divs height乘以innerDivHeight,用30而不是2。这个fiddle链接给出了你正在等待的东西。谢谢你所有的jsfiddle,Srinu!输入代码这里没有代码。你必须将代码添加到你的帖子中。这是堆垛溢出所需要的