css - Safari 上的 snap 滚动容器内的线性滚动
问题描述
预期行为:
一个容器在 div 上有 snap 滚动,
1 到 4 个 div 是 snap,
第 5 个是一个容器,里面有线性滚动,
你也可以向上滚动。
我的问题:
在使用触摸板的 macOS(Catalina 10.15.5)上的 safari(13.1.1)上,一旦到达线性滚动容器,您就不能再使用触摸板向上滚动,您将锁定到线性滚动容器并且不能再在身体的其余部分滚动了。
当使用带有滚轮的鼠标时,它可以在 macOS 和 Safari 上正常工作。
使用 Chrome 或 Firefox 上的触摸板,或在所有浏览器上使用 Windows 和 Linux 并使用触摸板和滚轮,也可以在 macOS 上按预期工作。
演示: https ://codepen.io/0swin/pen/eYZWwWy
<template>
<div id="app">
<div class="snap-container">
<div v-for="i in 4" class="slide snap">
{{ i }}
</div>
<div class="slide snap" style="overflow-y: scroll;">
<div class="slide" style="background: #b794f4;">
5
</div>
<div class="slide" style="background: #f6e05e;">
6
</div>
</div>
</div>
</div>
</template>
<script>
export default {};
</script>
<style>
.snap-container {
scroll-snap-type: y mandatory;
height: 100vh;
width: 100vw;
overflow-y: scroll;
overflow-x: hidden;
}
.slide {
height: 100vh;
width: 100vw;
color: white;
font-weight: bold;
font-size: 3rem;
overflow-x: hidden;
}
.snap {
scroll-snap-align: center;
}
.snap:nth-child(odd) {
background: #f56565;
}
.snap:nth-child(even) {
background: #63b3ed;
}
</style>
解决方案
推荐阅读
- angular - Angular 6表单提交的属性不存在
- javascript - Javascript:找不到嵌套在对象中的数组的最大值
- java - 如何使用 spring-data-jpa 2.1 实现长/复杂查询
- java - Vaadin 添加 HTML 传单地图
- git - git push 失败并带有 src refspec
- css - 如何使用 javascript 和 css 在状态更改时为组件的条件渲染部分设置动画?
- java - 是否可以设置 JScrollPane 或 JScrollBar 的箭头样式?
- c++ - 程序必须将奇数索引元素放在一个新向量 C 中,将偶数索引元素放在另一个向量 T 中
- rasa-nlu - 为什么我不能在 RASA 中加载一些库
- javascript - 在 vue/vuex 中保存或取消编辑