背景附件:修复了 translateX(0) 的断裂问题

2024-03-09

我有一个具有固定背景的滚动元素:

.my-element {
   background: url(/foo.png) no-repeat right bottom;
   background-attachment: fixed;
}

效果很好!通常情况下。但是,如果我对其应用平移变换(即使是 0)(我需要动画),背景就会变为非固定(它锚定到 .my-element 的底部,该元素滚动到视图之外) :

.my-element {
   background: url(/foo.png) no-repeat right bottom;
   background-attachment: fixed;
   transform: translateX(0); // this breaks the "fixed" behavior
}

对此有一个类似的问题here https://stackoverflow.com/q/39633745/954986,但是 4 年前的答案说这个 bug 已经被修复了,而且只有 firefox 才有这个问题。我在 Firefox 和 Chrome 中就遇到了这种情况。

有什么办法可以避免这种情况吗?或者有没有办法在没有背景附件属性的情况下获得相同的行为?谢谢!

edit:刚刚添加了一个 jsfiddle 来演示该问题:https://jsfiddle.net/mozges0k/7/ https://jsfiddle.net/mozges0k/7/


我很难找到解决方法。将背景图像提取到自己的容器中并添加position: sticky看起来这是一个可行的解决方案,但最终没有成功。

我想到了另一个解决方案:如果你提取transform到它自己的类并在动画完成时删除该类?这好像是background-attachment再次开始工作时transform即使在运行时也会被删除。然后background-attachment可以发挥它的魔力,你的动画也可以运行。

<div class="my-element animate">Lorem ipsum</div>
.my-element {
    background: url(/foo.png) no-repeat right bottom;
    background-attachment: fixed;
}

.animate {
    transform: translateX(0);
}
function animationFinished() {
    const target = document.querySelector('.animate');
    target.classList.remove('animate')
}

虽然它不像我希望的那么简单和直接,但这would成为一个解决方案。 让我知道您的想法,祝您好运!

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

背景附件:修复了 translateX(0) 的断裂问题 的相关文章

  • Bootstrap 3 按钮之间的空间

    如果我将几个 Bootstrap 3 按钮排成一行
  • 是否可以全局文本对齐表列而不在每行中指定类?

    想知道提高效率的最佳方法是什么 也许使用 jQuery 我可以接受不兼容 ie7 的解决方案 如果需要的话 即使缺乏对 ie8 的支持也可以 table th td class cal center td td left td td cla
  • 在文档流中提取一个元素

    这是示例代码 top background lightGreen content outline 1px solid red bottom background lightBlue div Top div div Lorem ipsum d
  • Google 字体(上面有空格)无法在 IE7/IE8 上呈现

    有谁知道为什么 IE7 IE8 不会渲染 Google 字体 如果名称上有空格 您可以在这里查看演示 http jsfiddle net fYzAb 1 http jsfiddle net fYzAb 1 完全相同的两个标签 一个使用 Os
  • 在聚合物元素中动态注入共享样式(聚合物1.2.3)

    我确实有几个自己创建的嵌套聚合物元素 目前 通过使用聚合物共享样式 我可以将自定义样式注入其他元素 不幸的是 这种方法仅限于静态使用 因此 在实现时 我确实需要通过导入共享样式模块来知道哪个元素应该使用哪种共享样式 and 但在我的用例中
  • 使用 Flexbox 时 Apex 图表无法正确调整大小

    最近 我将 Floats 更改为 FlexBox 以便更轻松地使用面板 正如我在其他问题上所建议的那样 虽然大多数事情都按我的预期工作 但更改后我在使用 Apex Charts 时遇到了问题 完整代码在这里 https github com
  • CSS 背景在 iOS 中拉伸以填充高度,但滚动上有空白

    这个 CSS 让我的背景在 iOS 中填充 100 的屏幕高度 但有一个小问题 当你向下滚动时 最初有空白 然后当你松开手指并停止滚动时 背景图像会 调整 并填充 100再次屏幕高度的 如果您继续滚动 该问题不会在同一页面上再次出现 只是第
  • Sitecore 多种 RTE 类样式

    我可以为 RichTextEditor RTE 添加 CSS 样式路径 如下所示 并且我可以在 RTE 中选择定义的样式
  • 当位置从相对固定变为固定时,div 的宽度会发生变化

    当 div topNav 的位置样式从相对更改为固定时 其宽度会更改几个像素 我找到了一个 jquery 插件 http imakewebthings github com jquery waypoints 它可以优雅地执行我正在寻找的相同
  • CSS 列不会水平对齐

    我正在使用列计数来允许我的文本流入两个不同的列 但第一列的顶部 最左边 低于另一列 col moz column count 2 webkit column count 2 column count 2 div h3 Options h3
  • 如何使用 jQuery mobile 确保动态 DOM 元素具有正确的 css

    我正在使用 jQuery mobile 构建一个移动应用程序 我尝试动态添加一些输入 但是 jQuery 移动样式未添加到动态创建的输入中 我创建了一个简单的应用程序 http jsfiddle net jGhqS http jsfiddl
  • 这个 jQuery 选择器中的“>”是什么意思?

    大于号 gt 在这里制作 Is someElement find gt someAttribute 与 someElement find someAttribute 否 它仅选择一个元素 如果它是以下元素的直接子元素 someElement
  • 如何让html中的文字出现在滚动条上

    您好 我希望当我滚动经过某个文本或滚动到该文本所在的位置时显示该文本 出现时的效果应该有点像网站顶部第一个效果http namanyayg com http namanyayg com 我希望用最少的代码使用纯 CSS 和 JS 来实现效果
  • 使用 CSS 和 JQuery 创建组织结构图结构

    I was checking on stack forum Trees in Twitter Bootstrap https stackoverflow com questions 11167628 trees in twitter boo
  • 自定义 CSS 不适用于 Bootstrap

    首先我想说 我知道我的 HTML 并不是最高效或最干净的 我的问题是我编写的自定义 CSS 根本不适用于我的网页 Bootstrap 似乎工作得很好 但是当我尝试进行任何编辑或覆盖 Bootstrap 时 它完全不起作用 我知道我的自定义
  • 相当于在其他浏览器中产生场发光?

    我长期以来一直使用它来为焦点字段添加发光效果 我第一次从 Firefox 访问我的页面 并意识到它不适用于它 而且很可能也不适用于资源管理器 border 1px solid E68D29 outline color webkit focu
  • CSS3变换:翻译最大值?

    我创建了一个实验无限滚动 Pi 的前十亿位 https daniellamb com experiments infinite pi 寻找 创建一个具有大量数据集的高性能滚动解决方案 我开始测试iScroll http iscrolljs
  • 如何获取 CSS 旋转元素的实际(非原始)高度

    我需要获取几个不同元素的实际高度 为了精确的自定义工具提示定位 并且其中一些元素 不是全部 被旋转 elem outerHeight 返回原始高度 而不是实际显示的高度 这是一个非常简单的例子 http jsfiddle net NPC42
  • 更改导航栏悬停时 div 的背景图像

    我正在开发一个项目 我对 Javascript 很陌生 所以我想知道是否有 Jquery 代码或只是一个关于如何使背景图像在导航菜单悬停时更改的过程 例如将鼠标悬停在链接一上会将 div 的背景图像更改为图像 1 将鼠标悬停在链接二上会将
  • 是否可以通过样式表进行跨域攻击?

    我需要为我的 Web 应用程序的用户创建的网页实现灵活的样式系统 理想情况下 我希望允许他们使用 CSS 正在链接到用户定义的 url 处的样式表Bad Idea Why 可以安全地做到这一点吗 您对此有何看法 我试图避免构建样式 编辑器

随机推荐

  • 如何更改 BigQuery 重复记录的 col 类型

    我正在尝试更改重复记录的 col 类型STRING to TIMESTAMP BQ 文档提供了一些建议 手动更改模式 https cloud google com bigquery docs manually changing schema
  • UIPageViewController:子控制器在滚动期间忽略状态栏高度

    我遇到了一些麻烦UIPageViewController 如果我滚动到新页面 新的视图控制器是behind状态栏while我正在滚动 滚动后 视图控制器自行定位below状态栏 我正在使用故事板 通用 UIPageViewControlle
  • 有没有一种有效的方法来引用常量,而不是只读?

    我们来看下面的 C 代码 include
  • 与网络服务器同步核心数据

    我正在创建一个关于鸟类的应用程序 这个应用程序也应该在离线模式下工作 所以我决定使用核心数据 我计划有 1 个表 其中包含大约 700 条记录 所有鸟类都将显示在表格视图中 工作流程应该是这样的 用户启动应用程序 请求在后台发送到服务器 响
  • 如何使用批量更改壁纸

    我需要制作一个批处理文件 将壁纸更改为与bat文件位于同一位置的图片 我当前有以下代码 reg add HKCU Control Panel Desktop v Wallpaper f t REG SZ d c images wallpap
  • 哪一个更快? List.contains() 或 Map.containsKey()

    我正在编写一个算法 在其中寻找成对的值 这些值加在一起时会产生我正在寻找的另一个值 我发现使用Map将使我的算法速度从 O n 开始 后来我意识到我并没有真正使用我的Map so a List就足够了 我在谷歌上进行了强力搜索 但在我的问题
  • 如何在Sqlite3中将数组存储在一列中?

    有没有办法将整数数组存储在表的一列中 我想要这样的o p ident value count 563 0 10 0 0 1 100 2 200 3 300 4 400 5 500 6 我已经通过 postgres 实现了这
  • 为什么 SSL 握手会出现“无法生成 DH 密钥对”异常?

    当我与某些 IRC 服务器 但不是其他服务器 可能是由于服务器的首选加密方法 建立 SSL 连接时 出现以下异常 Caused by java lang RuntimeException Could not generate DH keyp
  • 使用 CSS 为黑色图标赋予另一种颜色

    我看到一些应用程序尽管包含黑色图标 但有些应用程序如何使用 CSS 将图标转换为不同的颜色 我似乎无法重复这个过程 这是我的 back css 文件 dashboard buttons a width 80px height 80px bo
  • Solr 搜索查询返回全头异常

    我正在 C 应用程序中调用托管在其他计算机上的远程 solr 搜索 现在 由于我的查询长度变得太大 因此搜索引擎返回全头错误 我无法减少查询长度 所以我只是想知道我可以提出同样的邮寄请求吗 我该怎么做这个 请建议我 谢谢 看起来您遇到了 j
  • 在回调中使用yield?

    我有一个函数y 这应该会产生一些记录 然而 该函数在回调中获取记录 并将其传递给另一个函数d 访问数据 d 不返回或产生任何东西 如果其他功能 这种模式是否可能d 接受回调被认为是黑匣子 替代设计是什么 function y d funct
  • 单元测试、NUnit 还是 Visual Studio? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在使用 Visual studio 有时是 resharper 来运行我的单元测试 我听说过 NUnit 但我对它了解不多 我应该关心它吗
  • 在 kubernetes pod 中获取日志的选项

    kubernetes pod 中的开发人员日志很少 获取日志供开发人员查看的最佳方法是什么 我们可以使用什么特定的工具 我可以选择graylog 但不确定是否可以对其进行定制以使开发人员登录到其中 最基本的方法是简单地使用kubectl l
  • Python:连接(或克隆)一个 numpy 数组 N 次

    我想通过克隆 Mx1 ndarray N 次来创建 MxN numpy 数组 有没有一种有效的 pythonic 方法来代替循环 顺便说一句 以下方法对我不起作用 X 是我的 Mx1 数组 numpy concatenate X numpy
  • 文件读取:feof() 用于二进制文件

    我正在读取一个二进制文件 当它到达终点时 看来它是由 feof 函数终止的 是因为二进制文件没有EOF字符吗 如果是这样我该如何解决它 目前我的代码正在使用 while 循环 while feof f 当它到达文件末尾位置 5526900
  • 为什么 lambda 的大小为 1 个字节?

    我正在使用 C 中的一些 lambda 表达式的内存 但我对它们的大小有点困惑 这是我的测试代码 include
  • 如何将 MemoryStream 中的 PDF 发送到 .Net 中的打印机?

    我使用 iTextSharp 在内存中创建了一个 PDF 并将其包含在 MemoryStream 中 我现在需要将 MemoryStream PDF 转换为打印机可以理解的内容 我过去曾使用报表服务器将页面呈现为打印机格式 但我无法将其用于
  • 从PowerShell 5.1到7.2.5 Get-Service -ComputerName不再存在,那么我如何获取计算机名称?

    我在用着Get Service显示过滤列表 它在 5 1 中运行良好 这就是我在 5 1 中的工作方式 Get Service DisplayName displayName ComputerName computers Sort Obje
  • 没有“提醒”的通知

    我正在尝试创建一个具有高优先级的通知 聊天应用程序 但我的客户要求它不会有 抬头 视图 我尝试过创建一个空布局RemoteViews设置为Notification headsUpContentView但还是什么都没有 这是我尝试过的 Int
  • 背景附件:修复了 translateX(0) 的断裂问题

    我有一个具有固定背景的滚动元素 my element background url foo png no repeat right bottom background attachment fixed 效果很好 通常情况下 但是 如果我对其