【问题标题】:How to fix Skrollr on Mobile?如何在移动设备上修复 Skrollr?
【发布时间】:2014-06-16 20:26:18
【问题描述】:

我遵循了移动浏览器支持指南,将内容包装在 body 标记之前和之后。

解释在这里:https://github.com/Prinzhorn/skrollr#what-you-need-in-order-to-support-mobile-browsers

但是,该网站仍然不允许页面在 iPad 上滚动。我不确定为什么。任何代码侦查将不胜感激。

带有代码的站点是http://bit.ly/1rr6zGA

【问题讨论】:

  • 您链接的页面不包含skrollr-body 元素

标签: skrollr


【解决方案1】:

您需要将所有内容包装在 ID 为 skrollr-body 的元素中。所有不是位置的元素:固定;在你的 css 中进入 skrollr-body 元素。

From Skrollr website:

从 skrollr 0.6.0 开始,您只需要做一件事:在您的页面上添加一个 ID 为 skrollr-body 的元素。这就是我们为了伪造滚动而移动的元素。唯一不需要 #skrollr-body 的情况是使用 position:fixed 独占。事实上,skrollr 网站不包含#skrollr-body 元素。如果您需要固定和非固定(即静态)元素,请将静态元素放在#skrollr-body 元素中。

或者换一种说法:在移动设备上,skrollr-body 元素是使用 CSS 转换来移动的。根据 CSS 规范 (http://meyerweb.com/eric/thoughts/2011/09/12/un-fixing-fixed-elements-with-css-transforms/),您不能在使用 CSS 转换的元素内部放置 position:fixed 或 background-attachment:fixed。这就是为什么这些元素需要位于 skrollr-body 元素之外的原因。

【讨论】:

  • 您说您需要将所有内容“包装”在#skrollr-body 中。但是在网站上它说“在您的页面上包含一个带有 id skrollr-body 的元素”它没有说换行。我想在任何地方都放一个空的#skrollr-bodydiv,但我会尝试将我的所有内容都包装在#skrollr-body 中,因为你的方式听起来更可信
  • 因此任何具有固定导航的网页都无法在使用 Skrollr 的移动设备上运行。
  • @BenRacicot 我不确定这是不是真的。只要不被#skrollr-body 元素包裹,就可以有一个固定导航。我见过导航位于 skrollring 其余部分上方的实例
【解决方案2】:

我可以确认您需要将要滚动的内容包装在#skrollr-body 中。仅仅添加一个 id=skrollr-body 的 div 是行不通的。 我的页面不会在移动设备上滚动。

【讨论】:

    猜你喜欢
    • 2014-08-30
    • 2021-03-31
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多