问题标签 [scroll-snap-points]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - @font-face 阻止滚动捕捉点工作?
我知道它仍然是非常新的和实验性的,但是一直在玩 css scroll-snap,并且有一段时间无法让它工作。
我最终意识到,当我在我的 css 中使用 @font-face 时,滚动捕捉不起作用。如果我将字体系列更改为“Arial”而不是我定义的字体,它可以正常工作。
还有人遇到这个吗?
代码笔: https ://codepen.io/galvinben/pen/LgzLxK
(更改字体系列后可能需要刷新页面才能看到它工作/不工作。)
javascript - 以编程方式在儿童上设置“样式”时,iOS 上的 CSS Scroll Snap 视觉故障
https://codepen.io/thomaslindstr_m/pen/qJLbwa
上面很简单的例子。我想淡出我滚动离开的孩子,但是当 CSS Scroll Snap 启用时,它在我的 iPhone iOS 12.0.1 上开始出现非常糟糕的故障。
在此处查看视频: https ://file-qacepzxlkb.now.sh/
在重新加载之前,我禁用了 Scroll Snap(JavaScript 仍在运行),在重新加载之后,我启用了它。
这是JavaScript:
CSS 摘录:
关于导致此问题的原因以及可能如何解决的任何想法?我意识到这可能需要破解,因为它在 macOS 上的 Chrome 70 中运行得非常好。
html - CSS snap scroll 工作的基本要求是什么?
我一直在尝试实现一个超级简单的水平快照滚动(如下所示:https ://css-tricks.com/practical-css-scroll-snapping ),但我一直失败。我可能已经在这里搜索了所有问题和答案,但没有任何帮助。
我的代码很简单,我只scroll-snap-type: y mandatory;
在父母和scroll-snap-align: center;
孩子身上声明。而且我很确定这不是浏览器问题(因为我已经用许多不同的浏览器尝试过)。我在这里想念什么?或者我不明白什么?
这是我的(不工作的)CodePen:https ://codepen.io/anon/pen/XyNNGY
html:
CSS:
已经谢谢一百万了。
css - 第一次删除规则然后再次添加时,css scroll-snap 不起作用(chrome)
我有一个容器scroll-snap-type: y mandatory;
和子元素scroll-snap-align: start;
。在 chrome 中,滚动捕捉按预期工作。然后我通过js删除关于scroll-snap-type的css规则并稍后将其设置回来。之后,捕捉不起作用。这是一个错误吗?难道我做错了什么?这种行为符合规范吗?还是有解决方法?
(我只在 Windows 机器上的 chrome 浏览器中测试过它。)
ios - CSS 仅在 iOS 中滚动捕捉
我正在尝试在应用程序中实现仅 CSS 的滚动捕捉行为,但发现它在 iOS 中无法按预期工作。这是演示案例的CodePen的链接。
代码附在下面
我在相应的 MDN 页面中包含了一些我在相应的 MDN 页面中学到的多余的 CSS 规则,但我也尝试过没有它们,但没有运气。
我怀疑问题是由于和的组合引起的flex
,scroll-snap
但我不确定是否是这种情况。
PS:SO中有一些讨论滚动快照问题的线程。其中之一结合了 JS + CSS,这并不是我想要做的。
css - css scroll snap 不适用于 React 应用程序中的 div
我在不同的最新浏览器上对其进行了测试,因此它不会是兼容性问题。我正在使用带有样式组件的 create-react-app,这是我的代码:
当我滚动时它什么也没做,我几乎尝试过任何东西。如果没有样式组件,它也将无法工作。
编辑:我将我的代码复制到代码沙箱:https ://codesandbox.io/s/72jmn1p1w1
html - 当您尝试放大时,CSS 滚动捕捉卡住
CSS-scroll-snap运行良好。但是,当您用一根手指在移动设备上滚动时,将这根手指静止在屏幕上并用另一根手指向相反方向滚动(如缩放↕),然后滚动捕捉将卡住。(无论在哪个浏览器上)
当您在滚动时按住 Ctrl 键时,它甚至可以在桌面上运行。
我不知道这是否是一个常见问题,但我找不到任何修复或解决此问题的方法。
有什么建议么?
自己试试:
css - 是否可以将 CSS Scroll Snap 应用于 HTML 标签而不是 Body 标签
CSS Scroll Snap 允许浏览器将滚动捕捉到容器中的元素。要将相同的逻辑应用于垂直页面滚动,我发现它必须应用于<body>
而不是<html>
(见下文)。这不是一个主要问题,但它确实有效地创建了一个滚动区域,<body>
而不是使用窗口滚动。
虽然这看起来不错,但它有几个副作用:
- javascript中不能再使用窗口滚动功能
- Apple 浏览器上的橡皮筋效果响应速度较慢,并且在 Mac 上的 Chrome 中不存在。
我希望它看起来尽可能原生,因此唯一的结论是将它应用于<html>
而不是<body>
. 但是,以这种方式应用它会阻止它发挥作用。如果将其应用于两者,它将在 Safari 中正确呈现,但在 Chrome 和 Firefox 中仍会损坏。
问题不是因为<body>
在父元素和子元素之间创建了分离,就好像<div>
在层次结构中添加了另一个元素一样,它仍然可以正常工作。
这是功能代码,但适用于<body>
而不是<html>
.
解决一个小提琴:https ://jsfiddle.net/u8tsjven/
css - 使用 scroll-snap-type 和 -align 没有滚动捕捉 / 简单示例无法正常工作 Chrome/Firefox /
使用 Chrome / Firefox,我为几张图片创建了一个容器 (.container)(列出了 img 类的项目)。我在容器上添加了滚动捕捉类型。我在 img 类的项目上添加了滚动对齐对齐。
我在这里想念什么?
HTML
CSS
html - 使用滚动捕捉和位置粘性进行堆栈滚动
我正在scroll-snap
结合使用position: sticky
这似乎是一种在滚动时启用堆叠卡片效果的优雅方法。
它在桌面上运行得非常好,但在 Safari (iOS12.1) 上我遇到了一些小故障,有时卡片会一起滚动,跳过内容。
在移动 Safari 上复制该错误的最明显方法是:
- 向下滚动到最底部的屏幕
- 关闭(模糊)并重新打开 Safari
- 然后尝试再次向上滚动
遇到的错误:它正在跳过所有屏幕,使导航变得不可能。
我想让它只与 CSS 一起工作,但我愿意接受任何(好的)解决方案。最后,它意味着在 ReactJS 应用程序中工作。