如何设置最大滚动位置?

Mat*_*ava 9 html javascript css jquery

假设我们将页面主体宽度设置为 2000 像素,内容在主体内部水平居中,宽度设置为 1200 像素。

<body>
    <div class="content"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

CSS:

body {
    width: 2000px;
}
.content {
    position: relative;
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是,我根本不允许水平滚动,直到您的窗口大小为 1200px 或更小(在调整大小时)并将overflow-x 设置为隐藏。

$(function() {
    $(window).resize(function() {
        if(window.innerWidth > 1200) {
            $("body").css({
                "overflow-x": "hidden"
            });
        } else {
            $("body").css({
                "overflow-x": "visible"
            });
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

效果很好。但我也想防止用户滚动超过 1200px,如果他的窗口宽度小于 1200px(这里的问题是,一旦窗口宽度小于 1200px,就可以滚动到全宽度 - 2000px)。

那么你会如何解决这个问题呢?

小智 0

如果我正确理解您的问题,那么我相信可以通过在正文标记中添加最大宽度样式来解决此问题。这对我来说消除了侧滚动。

body {
    max-width: 2000px;  
}
Run Code Online (Sandbox Code Playgroud)