css - Safari 错误与转换和 translateY : "jumping" element

标签 css safari webkit css-transitions

我正在使用 translateY 移动一个元素。在 Chrome、Firefox、IE、旧版 Edge Safari(12.1.2 和 13.1.2)和 GNOME Web 下一切正常。 (WebKit)。

在 Safari 下,元素“跳跃”。这里有一个小例子(也可以在 CodePen 上找到):

.parent {
  height: 50px;
  background-color: blue;
  padding: 10px;
}

.child {
  background-color: yellow;
  padding: 10px;

  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.child.move {
  transform: translateY(-150%);
  padding: 0; /* If 10px: no bug */
}
<br><br><br>
<div class="parent">
  <div class="child" onclick="this.classList.toggle('move')">Click me</div>
</div>

我在 WebKit bug tracker 上找不到答案.

您知道一些解决方法吗?


其他 Stack Overflow 相关问题:

最佳答案

您可以添加:transition-delay: 1ms; 这将在 transform 转换之前强制填充属性。

https://codepen.io/konstantin/pen/qBWJjjq

关于css - Safari 错误与转换和 translateY : "jumping" element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57960955/

相关文章:

javascript - 使用 jQuery 从中心显示和缩放图像

css - 如果悬停,则在 div 内显示 div

css - Webkit 文本别名在 CSS3 动画期间变得奇怪

html - 多个选项卡上的 Webkit 通知

jquery - Xcode WebView 相机访问不工作

html - 如何制作背景渐变

jquery - 检测 facebook like 已满载

html - Mac Safari HTML 中的神秘 X 符号

javascript - ios 上 jQuery onchange 的问题

javascript - Safari Mobile 忽略阻止默认