html - 当用户在固定位置 div 上滚动时防止正文滚动

标签 html css scroll

在移动设备上当 position:fixed;元素出现在屏幕上,用户可以滚动 <body> , 通过固定元素。

body,
html{
    overflow: hidden;
    margin: 0;
    padding: 0;
}

#fixed {
    background: red;
    position: fixed;
    left:0;
    top: 0;
    width: 200px;
    height: 100%;
}

#content {
    background: blue;
    height: 3000px;
}

我尝试添加 overflow:hidden对于 <html><body>但它没有帮助。我想防止滚动固定元素,但我想允许滚动,当固定元素可见时,但用户滚动 <body> .

我在 ios 和 android 设备上试过这个。解决此问题的最佳解决方案是什么?

最佳答案

background:fixed

将使正文的其余部分在固定元素中滚动。这是默认行为。从外观上看,您希望固定元素位于页面顶部。为什么不保持它是一个单独的容器,绝对位置和 body 的其余部分在不同的容器中。然后,将滚动添加到主体的其余部分,保持 HTML,主体在 100% 高度。您可能需要保持第二个容器的高度固定。

关于html - 当用户在固定位置 div 上滚动时防止正文滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32184329/

相关文章:

java - JHipster对HTML的修改没有效果

html - div 自动扩展到其容器的高度

scroll - Tableau 无法在工作表中水平滚动

javascript - 从 DOM 中删除 bootstrap Modal

javascript - 如何在 HTML 登录页面中设置 "password123"作为我的密码

javascript - 当我将它插入网站时,为什么这个 slider 不起作用?

javascript - 带计时的 jQuery 鼠标悬停

javascript - 在 Datatables 列标题中使用 Font Awesome 图标和文本

iphone - 将 uitableview 重新加载到底部单元格

javascript - 如何使弹出窗口在关闭后停留在同一区域