html - CSS 滚动捕捉
问题描述
我知道这可能以前已经回答过,但是我一直在寻找 4 个小时,但找不到有效的答案。对不起,如果这是多余的。
我正在尝试创建一个网站,其中页面分为多个 div,每个 div 具有整页的高度和宽度。我想使用 CSS 滚动捕捉一次将 div 加载一整页。我正在使用 wordpress 主题,因此我无法直接访问总体 div 布局或正文等。所以我的想法是在页面内创建一个自定义 html div,并在其中构建我的页面。
但是,我无法让我的概念验证工作。我已经成功地将滚动控制从正文中移开,但是 div 根本不滚动,更不用说快照了。
我对此很陌生,因此非常感谢任何帮助或反馈。提前谢谢。另外,正如我所说,我是新手,还没有开始学习 JavaScript。但我读过纯 CSS 可以做到这一点。
编辑:我正在使用 Firefox 88 来显示,但我也尝试过 Chrome 90。
这是代码:
body {
margin: 0;
overflow: hidden;
}
.parent-container div {
scroll-snap-type: y mandatory;
height: 100vh;
overflow-y: scroll;
width: 100vw;
}
.full div {
scroll-snap-align: start;
height: 100vh;
width: 100vw;
position: relative;
}
.full:nth-child(odd) {
background: #333;
}
<!DOCTYPE html>
<html>
<head>
<title>CSS Practice</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="parent-container">
<div class="full">First</div>
<div class="full">Second</div>
<div class="full">Third</div>
</div>
</body>
</html>
解决方案
<div class="parent-container">
<div class="full">First</div>
<div class="full">Second</div>
<div class="full">Third</div>
</div>
body {
margin: 0;
overflow: hidden;
}
.parent-container {
scroll-snap-type: y mandatory;
overflow-y: scroll;
height: 100vh;
width: 100vw;
}
.full {
scroll-snap-align: start;
height: 100vh;
width: 100vw;
position: relative;
}
.full:nth-child(odd) {
background: #333;
}
工作示例:https : //codepen.io/sapm/pen/bGgJgmb 从规则中的 .full 选择器中删除 div 选择器似乎有效。
推荐阅读
- postgresql - 如何在没有 TLS 客户端身份验证的情况下通过 SSL 连接到 Google Cloud SQL?
- angular - Http 客户端 Angular 6
- android - 用于查找由于我的或任何其他应用程序而导致天线变热的 Android 代码
- angular - 从 Material Icon Registry 加载图标时出现“错误”
- python - 为散点图添加图例
- javascript - const 变量在没有窗口重新加载的情况下不会更新
- android - LinearLayouts:一个固定的,一个可变高度的
- excel - 使用 vba/excel 从 PDF 表单中获取“锁定”和“工具提示”值
- html - 根据屏幕自动调整图像
- tensorflow - 用检查点替换 TensorFlow Saver