CSS 关键帧动画与平移变换在 IE 10 和 Firefox 中捕捉到整个像素

2024-04-06

看起来 IE 10 和 Firefox 在使用 css 关键帧动画中的平移 2d 变换对元素的位置进行动画处理时,都会将元素捕捉到整个像素。

Chrome 和 Safari 没有,看起来a lot制作微妙运动动画时效果更好。

动画是通过以下方式完成的:

@keyframes bobbingAnim {
   0% {
       transform: translate(0px, 0px);
       animation-timing-function:ease-in-out
   }

   50% {
       transform: translate(0px, 12px);
       animation-timing-function:ease-in-out
   }

   100% {
       transform: translate(0px, 0px);
       animation-timing-function:ease-in-out
   }
}

这是我的意思的一个例子:

http://jsfiddle.net/yZgTM/ http://jsfiddle.net/yZgTM/.

只需在 Chrome 和 IE 10(或 Firefox)中打开它,您就会注意到运动平滑度的差异。

我意识到可能有很多因素影响此行为,例如元素是否使用硬件加速绘制。

有谁知道尝试强制浏览器始终在子像素上绘制元素的修复方法?

我发现了这个类似的问题,但答案是使用平移变换来制作动画,这正是我正在做的:CSS3 过渡“对齐像素” https://stackoverflow.com/questions/14917292/css3-transitions-snap-to-pixel.

Update:经过一番尝试后,我找到了针对 Firefox 的修复程序,但在 IE 10 中没有执行任何操作。诀窍是稍微缩小元素并使用在 Z 轴上偏移 1px 的 translate3d:

@keyframes bobbingAnim {
   0% {
       transform: scale(0.999, 0.999) translate3d(0px, 0px, 1px);
       animation-timing-function:ease-in-out
   }

   50% {
       transform: scale(0.999, 0.999) translate3d(0px, 12px, 1px);
       animation-timing-function:ease-in-out
   }

   100% {
       transform: scale(0.999, 0.999) translate3d(0px, 0px, 1px);
       animation-timing-function:ease-in-out
   }
}

我喜欢你的问题! 很好地注意到了 Firefox 和 IE10 中的像素捕捉。

我不久前研究过这个主题,建议您查看 GSAP 论坛,因为它们包含许多有关网络动画的有用信息。

这是一个关于IE10 像素捕捉问题 http://greensock.com/forums/topic/12698-scaling-animation-issues-in-ie10-and-11/.

您需要做的是向元素添加最小旋转。这样 IE 和 Firefox 就会以不同的方式重新绘制它 - 这将永远停止像素捕捉:)

提尔这个:

@keyframes bobbingAnim {
  0% {
   transform: translate(0px, 0px) rotateZ(0.001deg);  
   animation-timing-function:ease-in-out
  }

  50% {
    transform: translate(0px, 12px) rotateZ(0.001deg);
    animation-timing-function:ease-in-out
  }

  100% {
   transform: translate(0px, 0px) rotateZ(0.001deg);
   animation-timing-function:ease-in-out
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS 关键帧动画与平移变换在 IE 10 和 Firefox 中捕捉到整个像素 的相关文章

  • dom 元素转换后 IE 显示水平滚动条

    我在网站的各个地方使用了以下 css http jsfiddle net uycq29mt 1 http jsfiddle net uycq29mt 1 a position absolute background red width 60
  • 是否可以通过 CSS 3 使用文本内容设置元素中文本的颜色?

    好吧 这更像是一个有很多非 CSS 解决方案的问题 但我希望更多地从理论角度来做这件事 我有一个它的应用程序 但不值得以任何其他方式对其进行编码 有趣的 问题 如何使用元素的文本为元素的文本着色 我有一个元素 全部都是它自己的 它将包含颜色
  • h2 设置背景颜色和下划线

    我需要帮助解决这个 CSS 问题 我想要风格 h2 元素的背景颜色仅适用于文本 并且还有边框底部 这是预览 我可以自己做这件事 这并不难 但问题是我无法添加额外的元素 比如 span 标签 内 h2 标签 所以我正在寻找一种纯CSS方式来实
  • html 中的输入字段可以有多少个字符?

    html 输入字段中允许的 自然 字符数是多少 多谢 根据评论添加 我不需要通过邮寄或获取将其发送到服务器 我将通过 JS 解析字符串 因此 如果输入是无限的 就像 sAc 所说 这会给我带来两个进一步的问题 JS 最长的 String 可
  • 滚动时我的身体背景颜色消失

    我希望有人能帮帮忙 我已将 body height 属性设置为 100 当所有内容同时显示在屏幕上时 这很好 然而 当我需要滚动 最小化窗口时 主体颜色消失 只留下我为 HTML 背景设置的颜色 有人知道解决办法吗 html backgro
  • 如何将包含大量表格的 HTML 文档转换为 Word 文档?

    我创建了一个包含许多表格的 HTML 文档 如何将文档转换为Word 问题是 如果我用 Word 打开 HTML 文档 由于某种原因我会得到非标准的双行表格 table border 1 color 000000 cellpadding 0
  • UL 标签内的标签 H3 [重复]

    这个问题在这里已经有答案了 可能的重复 UL 中是否允许除 LI 之外的任何内容 https stackoverflow com questions 6056142 is anything except lis allowed in a u
  • 排除单个浏览器使用 CSS 类

    我想排除 Internet Explorer 使用特定的 CSS 类 这可能吗 Details 我有一个 css 类 看起来像 input type radio checked input type radio hover box shad
  • 为整个网站设置单个图标

    目前我正在使用这段代码将网站图标添加到网站 但是 必须将此代码添加到每个 HTML 页面中 有谁知道如何设置全局图标 我看过的所有地方都告诉我必须将其添加到每个页面 UPDATE Chrome 在根目录中搜索 favicon ico 文件
  • iOS Safari 通过单击按钮触发扫描信用卡

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

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

    我有一个 div 标签 也分为两个 div 这是代码 div div div div
  • jQuery .val() 返回单选按钮的未定义

    我正在尝试获取 jQuery 中选中的单选按钮值 但它返回的值是 未定义 我搜索了这个问题的解决方案 但对我来说没有任何作用 我的 HTML 代码
  • iframe 重新加载按钮

    我浏览了很多网站 但似乎没有一个能正常工作 或者我不明白它们 我想要一个刷新某个 iframe 的简单按钮 该按钮将位于父页面上 并且 iframe 名称为 Right 有很多方法可以做到这一点 假设这个iframe markup 我们可以
  • 使用 html5 分块上传文件

    我正在尝试使用 html5 的文件 API 分块上传文件 然后在服务器端用 php 重新组装它 我正在上传视频 但是当我在服务器端合并文件时 大小增加了 并且它变成了无效文件 请注意 以下 html5 代码仅适用于 chrome 浏览器 在
  • 电话号码上未拾取结构化数据

    我在网站上有以下代码片段 当我通过 Google 结构化数据测试工具运行此程序时 它不会获取电话号码 我不确定我哪里错了 div class telephone number p Call Us a href 07749 918 143 a
  • 如何在 Bootstrap 3 中指定行高?

    使用 Bootstrap 3 我将 row 类的高度设置为 3 5em 我在行中有几个输入 它们与行的顶部对齐 我想让它们底部对齐 我尝试过垂直对齐 底部的样式 但这似乎不起作用 我想让东西底部对齐的原因是我有一个浮动标签 我在输入字段上方
  • 加载另一个 JS 脚本后加载

    这是我的代码 very big js file lots of html stuff 问题是 这些是异步加载的 有没有办法等待第二个脚本直到第一个脚本加载 如果您使用 jQuery 有一个非常简单的方法可以通过获取脚本 https api
  • MYSQL 按喜欢/不喜欢和受欢迎程度排序

    我有评论表 其中包括喜欢和不喜欢的内容 现在我在正确的顺序上遇到了问题 实际上 我的系统在顶部显示了最多点赞的评论 我正在 youtube 上寻找类似系统的东西 这意味着 100like 100dislikes 的评论的顺序高于 1 1 我
  • html,将链接显示为普通文本

    我想知道您是否可以将链接显示为普通文本 a href target self img src width 121 height 20 alt div style font size 12px display block font color

随机推荐

  • C语言中如何将数组存入数组?

    假设我有一个固定大小为 3 的数组 用于存储颜色的 RGB 例子 color 3 0 0 255 我还有另一个数组 arrayOfColors 存储许多颜色 例子 arrayOfColors 0 0 255 0 0 0 255 255 25
  • Starlette 的 url_for 不会在 Nginx 后面创建带有 https 方案的链接(通过 uvicorn)

    我已经尝试了一切 斯塔莱特 routes Mount static StaticFiles directory parent fs decoration fs static name static Route Route Uvicorn f
  • 在单周期数据路径中加载半字和加载字节

    有人询问如何在单周期数据路径中实现加载字节而无需更改数据存储器 解决方案如下 替代文本 http img214 imageshack us img214 7107 99897101 jpg http img214 imageshack us
  • 在 Bootstrap 网格中动态更改列数

    我正在尝试为桌面浏览器设计一个布局 并为平板电脑浏览器设计其他布局 我希望在桌面浏览器中看到 3 9 列 3 列用于侧边栏 9 列用于内容 以及平板电脑中的 12 列 仅内容 我不需要平板电脑中的侧边栏 因此我需要在这种情况下显示液体内容
  • 拥有带有路径的地图如何将其与给定路径进行比较?

    我们有到字符串对的升压路径映射 例如名称 位置 绝对位置路径a lausr myfolder 我们得到了一些位置a lausr myfolder mysubfolder myfile 如何找到哪个地图位置最适合给定的网址 例如 我们有一张地
  • 嵌套列表中元素的 Python SUMPRODUCT

    我有两个嵌套列表 a 1 2 3 2 4 2 b 5 5 5 1 1 1 我想将每组元素相乘并求和得到 c 30 8 哪个结果来自 1 5 2 5 3 5 2 1 4 1 2 1 我尝试过这样做 c sum x y for x y in z
  • Play 重新加载应用程序时出现奇怪的 MongoError(使用 ReactiveMongo)

    通常 当 Play 在代码更改后重新加载应用程序时 我会收到以下错误 MongoError 无法到达节点集 请检查您的网络 连接性 MongoDB 日志如下所示 2016 09 06T18 51 22 609 0200 I NETWORK
  • 使用 Python 了解 Open CV 中的椭圆参数

    我正在尝试使用 Open CV 绘制圆弧 使用 cv2 ellipse 函数 我尝试阅读相同的文档 但我发现它非常令人困惑 在我的例子中它是一个圆弧 所以axes x和axes y是相同的 即半径 我的轴应该是什么 我应该在哪个方向计算开始
  • 嵌套 Linq Min() 使 Visual Studio 崩溃

    我有一段代码使 Visual Studio 2008 IDE 运行速度非常慢 消耗大量内存 最终导致其崩溃 我怀疑 VS 达到了操作系统内存限制 以下代码不是我的真实应用程序代码 但它模拟了问题 本质上 我试图使用 LINQ 找到树中的最小
  • linux下限制R内存使用

    我们在 Linux 集群环境中运行 R 当用户无意中使用 R 进程占用所有内存时 头节点会出现几次挂起 linux下有没有办法限制R内存使用 我不想建议全局 ulimit 但这可能是唯一的出路 There s unix rlimit as
  • $.getJSON 解析器错误尝试调用 API

    我正在尝试使用 Clipped API http clipped me api html http clipped me api html 返回 JSON 但遇到了一些麻烦 我正在使用 getJSON 在 Chrome 的 JS 控制台中我
  • 是否有任何编程语言支持定义原始数据类型的约束?

    昨晚我在想编程语言可以有一个功能 我们应该能够限制分配给原始数据类型的值 例如 我应该可以说我的 int 类型变量只能具有 0 到 100 之间的值 int lt 0 100 gt progress 然后 这将在所有情况下充当普通整数 除非
  • 在Android中使用OpenCV将NV21转换为RGB

    我正在尝试在 Android 中使用 OpenCV 因此 我首先通过并排放置两个 SurfaceView 来测试 OpenCV 其中一个SurfaceView用于预览相机的输出 输出格式显然是NV21 另一个SurfaceView通过Ope
  • 如何在 Jersey 客户端中发送 DELETE 请求中包含的数据?

    我在 Jersey 2 x 中有以下服务器端代码 Path store remove from group DELETE Consumes MediaType APPLICATION FORM URLENCODED Produces Med
  • 自定义会员资格提供商*没有*数据库?

    我一直在寻找有关 MVC 4 中成员资格提供程序更改的各种 SO 问题 博客文章等 虽然我喜欢其中的许多更改和简化 尤其是开箱即用的外部登录 支持 我还无法找到一件看似简单的事情 如何使用使用其他数据源的自定义成员 角色提供者覆盖成员资格
  • 如何从 viewcontainer 角度删除特定视图

    在下面的示例中 https stackblitz com edit angular 1acvol https stackblitz com edit angular 1acvol 我使用创建了多个视图TemplateRef并将它们附加到同一
  • 异步加载车把模板

    我正在尝试编写一个函数 该函数将为我提供一个已编译的车把模板 我将所有模板都放在单独的文件中 使用 ajax 调用来获取模板并编译它以供使用 但我需要使用承诺 以便我可以实际使用它 function getTemplate name get
  • Python,OpenCV:增加图像亮度而不溢出UINT8数组

    我正在尝试增加灰度图像的亮度 cv2 imread 返回一个 numpy 数组 我正在向数组的每个元素添加整数值 从理论上讲 这会增加它们中的每一个 之后我就可以将上限设置为 255 并获得具有更高亮度的图像 这是代码 grey cv2 i
  • 连接建立后如何从服务器(使用连接列表)向客户端发送命令?

    我有这两个类 它们是我的服务器应用程序 桌面 的一部分 需要在建立连接后将命令发送回客户端 当我尝试这样做时 clients i Send info the Send 例行公事 的监听器 cs 可以访问 但我有以下语法错误 怎么解决这个问题
  • CSS 关键帧动画与平移变换在 IE 10 和 Firefox 中捕捉到整个像素

    看起来 IE 10 和 Firefox 在使用 css 关键帧动画中的平移 2d 变换对元素的位置进行动画处理时 都会将元素捕捉到整个像素 Chrome 和 Safari 没有 看起来a lot制作微妙运动动画时效果更好 动画是通过以下方式