我需要构建一个动态调整大小的滚动div。
div应该动态调整大小以适应屏幕。但是如果内容不适合屏幕,它应该显示一个滚动条。因此浏览器自己的滚动条不需要激活。
我可以通过在div中放置另一个div并使用overflow: auto
来使滚动条出现在div中。
<div id="gridcontainer" style="overflow:auto;height:300px; width:100px;" >
<div id="gridcontent" style="height:100%">
<!--Put loads of text in here-->
</div>
</div>
麻烦的是,这只在第一个div有固定高度时才有效。我曾希望我可以将第一个div设置为height:100%
,但遗憾的是没有-这个属性似乎被忽略了,滚动条也没有出现。
我试着把div放在一个height:100%
的表中,并把第一个div设置为height:auto
,希望它可以从它的父级中获取高度,但div似乎仍然忽略了height属性。
所以我的问题是这可以只使用html,或者-失败- javascript吗?
3条答案
按热度按时间cqoc49vn1#
你可以使用绝对定位来拉伸div。这样它将始终采用浏览器窗口的大小(或最近的,定位的祖先)。
给定此HTML:
CSS应该类似于:
Live Demo
k3bvogb12#
从IE9开始,你可以使用视口单位。
假设容器的高度是动态的,除非它的大小大于窗口的高度。在这种情况下,我们停止扩展并激活滚动条。
bpzcxfmw3#
如果你想让元素适合屏幕,那么你可以将元素的高度和宽度设置为100%。
您还需要设置html和body的高度