仅 CSS 视差滚动停止在 IOS/IPadOS 13 上工作?

2024-04-14

好吧,我在网络开发领域还是个新手。几个月前,我仅使用 CSS 视差滚动完成了自己的网站。 iOS13 出现了一些问题。

对于视差效果,我使用了描述基思·克拉克 https://keithclark.co.uk/articles/pure-css-parallax-websites/。一切都很顺利。它涵盖了桌面和移动设备上的几乎所有浏览器。

不过随着新的 IOS13 的到来,仅 CSS 视差效果 https://keithclark.co.uk/articles/pure-css-parallax-websites/demo3/停止工作。我做了很多研究,但我无法弄清楚。

有可能解决这个问题吗? 你们会怎么做?

/* Parallax base styles
  --------------------------------------------- */

  .parallax {
    height: 500px; /* fallback for older browsers */
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-perspective: 300px;
    perspective: 300px;
  }

  .parallax__group {
    position: relative;
    height: 500px; /* fallback for older browsers */
    height: 100vh;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
  }

  .parallax__layer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }

  .parallax__layer--fore {
    -webkit-transform: translateZ(90px) scale(.7);
    transform: translateZ(90px) scale(.7);
    z-index: 1;
  }

  .parallax__layer--base {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    z-index: 4;
  }

  .parallax__layer--back {
    -webkit-transform: translateZ(-300px) scale(2);
    transform: translateZ(-300px) scale(2);
    z-index: 3;
  }

  .parallax__layer--deep {
    -webkit-transform: translateZ(-600px) scale(3);
    transform: translateZ(-600px) scale(3);
    z-index: 2;
  }


  /* demo styles
  --------------------------------------------- */

  body, html {
    overflow: hidden;
  }

  body {
    font: 100% / 1.5 Arial;
  }

  * {
    margin:0;
    padding:0;
  }

  .parallax {
    font-size: 200%;
  }

   /* centre the content in the parallax layers */
  .title {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }



  /* style the groups
  --------------------------------------------- */

  #group1 {
    z-index: 5; /* slide over group 2 */
  }
  #group1 .parallax__layer--base {
    background: rgb(102,204,102);
  }

  #group2 {
    z-index: 3; /* slide under groups 1 and 3 */
  }
  #group2 .parallax__layer--back {
    background: rgb(123,210,102);
  }

  #group3 {
    z-index: 4; /* slide over group 2 and 4 */
  }
  #group3 .parallax__layer--base {
    background: rgb(153,216,101);
  }

  #group4 {
    z-index: 2; /* slide under group 3 and 5 */
  }
  #group4 .parallax__layer--deep {
    background: rgb(184,223,101);
  }

  #group5 {
    z-index: 3; /* slide over group 4 and 6 */
  }
  #group5 .parallax__layer--base {
    background: rgb(214,229,100);
  }

  #group6 {
    z-index: 2; /* slide under group 5 and 7 */
  }
  #group6 .parallax__layer--back {
    background: rgb(245,235,100);
  }

  #group7 {
    z-index: 3; /* slide over group 7 */
  }
  #group7 .parallax__layer--base {
    background: rgb(255,241,100);
  }
<!doctype html> 
<html>
<head>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> 
<title>Unbenanntes Dokument</title>
<link href="parallax2.css" rel="stylesheet" type="text/css">
</head>

<body>
	<div class="parallax">
  
    <div id="group1" class="parallax__group">
      <div class="parallax__layer parallax__layer--base">
        <div class="title">Base Layer</div>
      </div>
    </div>
  
    <div id="group2" class="parallax__group">
      <div class="parallax__layer parallax__layer--base">
        <div class="title">Base Layer</div>
      </div>
      <div class="parallax__layer parallax__layer--back">
        <div class="title">Background Layer</div>
      </div>
    </div>
  
    <div id="group3" class="parallax__group">
      <div class="parallax__layer parallax__layer--fore">
        <div class="title">Foreground Layer</div>
      </div>
      <div class="parallax__layer parallax__layer--base">
        <div class="title">Base Layer</div>
      </div>
    </div>
  
    <div id="group4" class="parallax__group">
      <div class="parallax__layer parallax__layer--base">
        <div class="title">Base Layer</div>
      </div>
      <div class="parallax__layer parallax__layer--back">
        <div class="title">Background Layer</div>
      </div>
      <div class="parallax__layer parallax__layer--deep">
        <div class="title">Deep Background Layer</div>
      </div>
    </div>
  
    <div id="group5" class="parallax__group">
      <div class="parallax__layer parallax__layer--fore">
        <div class="title">Foreground Layer</div>
      </div>
      <div class="parallax__layer parallax__layer--base">
        <div class="title">Base Layer</div>
      </div>
    </div>
  
    <div id="group6" class="parallax__group">
      <div class="parallax__layer parallax__layer--back">
        <div class="title">Background Layer</div>
      </div>
      <div class="parallax__layer parallax__layer--base">
        <div class="title">Base Layer</div>
      </div>
    </div>
  
    <div id="group7" class="parallax__group">
      <div class="parallax__layer parallax__layer--base">
        <div class="title">Base Layer</div>
      </div>
    </div>
  
  </div>
</body>
</html>

我遇到了同样的问题。CSS-Tricks 的 Chris Coyier 也写了相关文章 https://css-tricks.com/ios-13-broke-the-classic-pure-css-parallax-technique/.

据我所知,这个问题没有办法解决。据我所知,iOS 13 及以后版本不再支持translateZ。

但最令人沮丧的是,似乎没有办法检测这种行为。 CSS.supports('transform', 'translateZ(10px)') 仍然返回“true”。通过 JS 读出的每一个值似乎都表明一切都按其应有的方式工作,但事实上却并非如此。

我的印象是该网站正常呈现(translateZ 工作)。但 iOS 13 中的这种“修正”是在事后以某种方式应用的——超出了网站代码的范围。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅 CSS 视差滚动停止在 IOS/IPadOS 13 上工作? 的相关文章

  • 如何使按钮在表格单元格内居中

    我试图通过以下方式将按钮置于表格内的中心 text align center 然而 它似乎对我不起作用 注 我用过Display table cell结合Vertical align middle将按钮的文本居中 正如您所看到的 第一个按钮
  • 菜单作为水平无序列表或表格?

    我有一个无序列表 水平显示为页面的顶部菜单栏 我已经让它显示得相对较好 尽管我一直在调整 IE6 和 IE7 的间距 因为它无法正常显示 令人震惊 无论哪种情况 使用表格来显示菜单还是使用一些CSS hack 我找不到解决方法 会更好吗 显
  • SVG img keepAspectRatio Chrome

    当我对 SVG 文件中的图像使用preserveAspectRatio none 时 它 似乎在 Google Chrome 中不起作用 SVG 不会根据图像宽度和高度进行缩放
  • 上传图像 onclick 多个蒙版图像

    一旦用户单击蒙版图像 我们就允许用户上传自定义图像 如果有单个蒙版图像 则效果很好 https codepen io kidsdial pen jJBVON https codepen io kidsdial pen jJBVON 要求 但
  • iOS Safari 通过单击按钮触发扫描信用卡

    您好 我目前正在创建一个测试应用程序 当用户单击文本字段名称或卡号时 扫描信用卡功能对我有用 我的问题是 我希望当用户单击 button1 时发生同样的情况 这应该打开相机来扫描卡并填充现有的文本字段 即名称 卡号和到期日期 额外的好处是
  • 双弧形

    我目前正在尝试生成 波浪形幽灵底部 形状 该形状包含两条双曲线 虽然底部的部分这个图片 http images clipartpanda com ghost clip art castle ghost clipart1 jpg我认为以更好的
  • 将 div 设置为 post 方法结果页面的目标容器

    我有一个 div 标签 也分为两个 div 这是代码 div div div div
  • 我的CSS出了什么问题?活动链接不改变颜色

    我无法让我的 WordPress 菜单活动链接保持红色 我添加了我认为与导航相关的 CSS 还有正文等 以防影响问题 感谢您的帮助 body font family Helvetica Neue sans serif font size 1
  • 限制文本区域中每行的字符数

    我整个周末都在寻找解决这个难题的方法 但尚未找到一个可以正常工作的解决方案 我想要实现的是限制文本区域中每行的字符数 不是相同地限制它们 而是我选择的每行不同的字符数 例如 我只想在我的文本区域中包含 4 行 第 1 2 和 3 行将限制为
  • 如何通过 HTML 按钮播放声音

    我目前通过网站播放音乐的方法是通过 HTML 音频标签 不过我希望能够通过 HTML 按钮来播放它 该按钮应该能够在播放和停止之间切换音乐 我在 JSFiddle 创建了一个示例 但不知道如何实现它 有人可以告诉我如何使用我的 JSFidd
  • jQuery .val() 返回单选按钮的未定义

    我正在尝试获取 jQuery 中选中的单选按钮值 但它返回的值是 未定义 我搜索了这个问题的解决方案 但对我来说没有任何作用 我的 HTML 代码
  • 未捕获的引用错误:myFunction 未定义[重复]

    这个问题在这里已经有答案了 这到底是怎么回事 http jsfiddle net sVT54 http jsfiddle net sVT54
  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • 如何改变HTML5视频的播放速度?

    如何更改 HTML5 中的视频播放速度 我查过视频标签的属性 https www w3schools com html html5 video asp在 w3school 但无法做到这一点 根据这个网站 http www chipwreck
  • Aptana Studio 3 上的预览选项卡在哪里?

    我在 Windows PC 上使用 Aptana Studio 2 并有一个选项卡用于在 IE 上预览页面 另一个选项卡用于在 Firefox 上预览 但我切换到了 Aptana 3 我不知道是没有预览还是我没有找到它 是的 我在 stac
  • 使用 jquery 将字符串数组转换为整数

    我正在尝试将 jquery 中的字符串数组转换为整数数组 这是我的尝试 var cdata data values split each cdata function i l l parseInt l 我认为在这种情况下你不需要使用 Jqu
  • Jquery,清除/清空 tbody 元素的所有内容?

    我认为这会相当简单 但似乎空方法无法清除我拥有的 tbody 如果有人知道执行此操作的正确方法 我将不胜感激 我只想删除 tbody 中包含的所有内容 到目前为止我正在尝试 tbodyid empty HTML table tbody tr
  • gwt 中的垂直居中

    如何使用垂直面板在 gwt 中垂直居中 或者请告诉我有什么方法可以进行垂直居中 如果你想直接使用VerticalPanel从代码中 您需要使用setVerticalAlignment HasVerticalAlignment ALIGN M
  • 位置:绝对在边框半径内且溢出:隐藏

    我遇到了问题border radius在webkit浏览器中找到了解决方案 网址如下 如何在 Chrome Opera 中使 CSS3 圆角隐藏溢出 https stackoverflow com questions 5736503 how
  • span 和 iframe 正文中的宽度(以像素为单位)

    我需要知道 a 的宽度 nbsp 以像素为单位 以及是否取决于字体大小 另外 页面中不同元素的情况是否有所不同 还有 就是 nbsp 与常规不同 目的 nbsp 不间断空格 位于正常空格之上是为了防止单词之间出现换行 您可以使用多个 nbs

随机推荐

  • 确定 Any.Type 是否可选

    我正在尝试确定给定类型是否t Any Type 是一个可选类型 我正在使用这个测试 t is Optional
  • XAML 设计器未加载

    我正在尝试开发适用于 Windows 10 的通用应用程序 但 XAML 设计器无法加载 我尝试重新安装 Visual Studio 但似乎没有任何效果 Error System Runtime InteropServices COMExc
  • 如何强制 python 子图具有相等的宽度和单独的高度(gridspec 不起作用)?

    I have the following figure Equal aspect ratio for each of the axes is a requirement I d love the widths to match betwee
  • 将 JSON 时间戳字符串转换为 pandas dataframe 中的 python 日期

    我有一个从 JSON 读取的 pandas 数据框 其中一个日期列是一种奇怪的时间戳格式 如下所示 日期 1405961743000 0100 如何将整列转换为 python 日期 我已经能够使用 datetime 手动将该日期转换为 py
  • Android ToggleButton 自定义样式未应用

    我跟着这个例子 http www mokasocial com 2011 07 sexily styled toggle buttons for android 用于将一些自定义主题应用于我的切换按钮 但是当我运行我的应用程序时 我看到通用
  • 如何在 AWS API 调用中使用“NextToken”

    我遇到了一个小问题 我真的很难理解它是如何工作的 我正在编写一个工具 它基本上执行描述组织来收集我们的 AWS 组织中的所有帐户 根据文档here https boto3 readthedocs io en latest reference
  • 解决IContainer

    从应用程序的类内部获取 Autofac 容器的建议方法是什么 Autofac 是否提供解析类上的 IContainer 属性 或者在构建容器后是否需要全局存储该容器 你需要IComponentContext or ILifetimeScop
  • OpenCV 从相机捕获 YUYV,无需 RGB 转换

    我尝试使用 openCV c 从 LI USB30 V024 立体相机捕获左右图像 而不自动将其转换为 RGB 相机输出 YUYV 格式的图像 我尝试使用 videoCapture set CV CAP PROP CONVERT RGB f
  • 带有 *ngIf 内部的模板,更改模型后不起作用

    Problem Angular 2 2版本之后 我注意到我的应用程序的某些组件存在问题 即更新数据后 视图中的数据错误 它显示了正确大小的列表 但仅包含第一项的数据 示范 我创建这个 Plunker 有一个简单的例子 http plnkr
  • Chrome 屏幕截图仅在首先单击扩展程序时有效

    因此 我尝试编写一些代码 以便在按下我的网站上的按钮时可以截取页面的屏幕截图 代码可以工作 但唯一的问题是我必须先单击 chrome 扩展 然后才能单击按钮来截取屏幕截图 我猜这是因为活动选项卡未被调用 有任何想法吗 这是错误消息 运行 t
  • C# 如何将整型的项隐式转换为 double 的项?

    是否有任何 C 规范说明如何隐式转换整型类型的项 例如 int 的条款double应该可以工作吗 如果是这样 有人可以告诉我算法或指导我吗 C 6 0 规范草案 https learn microsoft com en us dotnet
  • 你能在 C 中#define 注释吗?

    我正在尝试做一个调试系统 但它似乎不起作用 我想要完成的是这样的 ifndef DEBUG define printd else define printd printf endif 有没有办法做到这一点 我有很多调试消息 但我不喜欢这样做
  • 编写一个简单的自定义编辑器需要多快?

    简单地说 我的意思是有按钮 bold italic 编号列表 要点列表 向左缩进 右缩进 拼写检查 显然由现成的 js 组件支持 我所说的自定义是指 拥有自定义图标 所以实际上只是自定义设计 无框架 从头开始编写 轻量级 兼容主流浏览器 这
  • ViewChild 与输入/输出 - Angular 最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在我看来 几乎在所有我们指定组件的情况下 Inputs Output我们也可以没有任何 Inputs Outputs 而是使用 ViewChil
  • PySpark 将列除以其总和[重复]

    这个问题在这里已经有答案了 我试图将 PySpark 中的列除以它们各自的总和 我的数据框 此处仅使用一列 如下所示 event rates 1 10 461016949152542 2 10 38953488372093 3 10 609
  • heroku 应用程序在推送后仍然引用旧文件

    我最近在 Heroku 中遇到了这个非常奇怪的问题 我在本地开发和测试 然后将更改推送到 Heroku 尽管推送的文件已经更改 Heroku 确实识别了它并推送了新文件 但当我查看 Heroku 上的确切网页时 它的行为就好像它仍在使用我刚
  • 在 Xamarin iOS 中使用 Firebase Crashlytics

    任何人都可以帮助我如何使用适用于 Xamarin iOS 的 Xamarin Firebase iOS Crashlytics nuget 包 我的代码中随机出现 SIGSEGV 代码错误 但我无法找出实际问题 已经搜索了很多关于如何在 X
  • 如何在java swing中为某个类型的所有组件设置UI?

    我创建了自己的MyScrollbarUI类在我的应用程序中具有自定义滚动条外观 现在我必须做 scrollPane getHorizontalScrollBar setUI new MyScrollbarUI scrollPane getV
  • 用于渲染大量数据的表格设计 Angular

    我是角度新手 期待创建一个将呈现大量数据的表 下面是我试图实现的表中的功能 有人可以指导如何解决这个问题吗 有没有实现它的开源项目 或者好的资源 通用搜索按钮可在所有列中搜索并在表格中显示结果 用户可以显示和隐藏某些列 选定列上的预填充过滤
  • 仅 CSS 视差滚动停止在 IOS/IPadOS 13 上工作?

    好吧 我在网络开发领域还是个新手 几个月前 我仅使用 CSS 视差滚动完成了自己的网站 iOS13 出现了一些问题 对于视差效果 我使用了描述基思 克拉克 https keithclark co uk articles pure css p