小编Cra*_*tor的帖子

防止移动 safari 滚动问题的简单解决方案(iOS)

考虑以下场景:

\n\n

您有 2 个可滚动元素。

\n\n
    \n
  1. 附加到 $(document).scroll() 的一长串项目列表
  2. \n
  3. 监听 $(".class").scroll() 的单独容器/覆盖层
  4. \n
\n\n

在此输入图像描述

\n\n

具有以下 CSS 属性。

\n\n
body {\noverflow-y: scroll;\nheight: 100%;\n}\n\n.class {\nheight: 100%; /* 50% 20% 200px whatever you may */\nposition: fixed;\noverflow-y: scroll;\n-webkit-overflow-scrolling: touch;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

换句话说,这是一个非常标准的设置,2017 年应该可以在任何设备上正常运行。错误的。

\n\n

以下是多年来我在这种简单设置中遇到的问题,但从未找到好的、可靠的解决方案:

\n\n
    \n
  1. 当滚动到顶部底部时,叠加层开始从轻微到极端闪烁,无论所有 iDevice 上的 HTML 复杂程度如何。(由于过度滚动的 z-index 问题或硬件加速问题,我不知道)。
  2. \n
  3. 当位于顶部或底部时,覆盖层的滚动完全停止,以等待主体滚动停止过度滚动。
  4. \n
  5. 当容器的滚动错误地停止时(同时出现过度滚动),并且用户继续滚动,正文将滚动,从而导致用户体验非常不一致,因为用户现在将到达正文滚动中的其他位置与打开覆盖层之前相比。必须停止滚动以等待过度滚动停止也很烦人。

  6. \n
  7. 如果容器高度为 100%,并且没有滚动 \xe2\x80\x93 如果用户开始\n滚动,则正文将滚动并且滚动条将可见,但\n页面似乎没有\n滚动,从而导致用户体验不一致\n。

  8. \n
\n\n

我尝试过的一些解决方案没有成功。

\n\n
    \n
  1. 滚动。iScroll 通过防止文档上的任何触摸事件来阻止过度滚动问题。但恕我直言,提供了不一致且糟糕的滚动体验。此外,甚至不再需要它了。
  2. \n
  3. 所有其他可以想象到的滚动插件。
  4. \n
  5. 事件委托 \xe2\x80\x93 …

css webkit mobile-safari webview swift

6
推荐指数
1
解决办法
3万
查看次数

阴影不透明度swiftUI

我有一个带有边框的图像,我想向其添加带有一些偏移量的阴影。虽然我认为阴影的默认不透明度太暗,但不透明度的正确属性是什么?

var body: some View {

    Image("football")

        .resizable()
        .scaledToFit()
        .frame(width: 100.0, height: 100.0)
        .clipShape(Circle())
        .overlay(Circle()
        .stroke(Color.white, lineWidth: 4))
        .shadow(radius: 10.0, x: -10.0, y: -10.0)

}
Run Code Online (Sandbox Code Playgroud)

swiftui

4
推荐指数
1
解决办法
2365
查看次数

标签 统计

css ×1

mobile-safari ×1

swift ×1

swiftui ×1

webkit ×1

webview ×1