我有一个模式弹出窗口,当它加载高于浏览器高度的内容时,我无法向下滚动以查看其余信息。相反,背景可以滚动,但弹出窗口不会。
相反,我想让弹出窗口保持不变,当用户向上或向下滚动时,它将弹出窗口留在原处,让他们滚动到内容的底部。如果您在 Facebook 上发表超长帖子,弹出窗口可以正常工作,我想知道如何使用此控件获得相同的效果。
我有一个模式弹出窗口,当它加载高于浏览器高度的内容时,我无法向下滚动以查看其余信息。相反,背景可以滚动,但弹出窗口不会。
相反,我想让弹出窗口保持不变,当用户向上或向下滚动时,它将弹出窗口留在原处,让他们滚动到内容的底部。如果您在 Facebook 上发表超长帖子,弹出窗口可以正常工作,我想知道如何使用此控件获得相同的效果。
在模态弹出窗口的 css 中,设置模态弹出窗口的宽度,然后设置overflow:auto
. 这会给你水平滚动条。例子:
.ModalPopupPanel
{
width:900px;
overflow:auto;
}
因此,当内容宽度超过 900px 时,会出现水平滚动条。垂直滚动条也是如此,您需要在其中设置 modalpop 的高度。
您可以在弹出窗口打开时向 body 标签添加一个类以隐藏滚动条,并在弹出窗口消失时将其删除,那么您的背景应该是 position:fixed 并且高度应该是 window.height() (得到它用 JS 动态地),也是溢出:自动。
所有这一切发生的情况是,如果弹出窗口比背景高,您会在右侧看到一个漂亮的滚动条,并且因为您的身体滚动条是隐藏的,所以您只能看到那个滚动条。此外,页面本身不会滚动。这就是 Facebook 使用他们的图片查看器的方式。
此脚本将弹出高度设置为屏幕高度的 90%,然后您可以设置溢出:自动;
<script type="text/javascript">
function pageLoad() {
$get('<%= Panel.ClientID %>').style.height = document.documentElement.clientHeight * 0.9 + "px";
}
</script>
这是我问的一个相关问题和我找到的解决方案。
将样式overflow: auto
放在容器块上。
您可以尝试使用它来滚动 modalpopup 及其内容:设置 PopupDragHandleControlID 将其指向一个空面板,设置 Reposition mode = "None" 这将在您滚动页面时将模态固定在同一位置。
Here the simple and best working solution
Add that class to your modal popup page.
body.modal-open {
overflow: auto;
}