我想避免用户在我的移动导航栏打开时滚动背景。到目前为止没问题,只需在 body
上设置 overflow: hidden
即可。问题是,如果导航栏有太多元素,它高于用户视口(viewport),它也不会滚动。所以我希望能够在导航栏内滚动,但不能同时在正文上滚动。
因此问题是:是否可以更改嵌套元素的溢出
行为?
简化示例
// simple helper to add many list items
var menu = document.getElementById('menu');
for(var i=0; i<100; i++) menu.innerHTML += '<li>foo</li>';
.scroll-disabled { overflow: hidden; }
.scroll-enabled { overflow: visible; }
<body class="scroll-disabled">
<ul class="scroll-enabled" id="menu">
<!-- lots of li's // more than the display can show at once-->
</ul>
</body>
最佳答案
您可以给元素固定高度并设置溢出时自动滚动:
.scroll-enabled {height: 100px; overflow:auto;}
关于css - 覆盖嵌套元素的溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33925713/