【问题标题】:CSS: Weird lines when using a scale-transitionCSS:使用比例转换时出现奇怪的线条
【发布时间】:2026-02-20 01:20:03
【问题描述】:

我在 CSS 缩放过渡方面遇到了一些奇怪的问题。缩放效果很好,但是缩放元素周围有一些奇怪的线条,滚动后消失。这发生在 Chrome 浏览器和 Microsoft Edge 中。而且我不认为它与边距、填充、z-index、颜色或其他任何东西有关,因为它发生在相关 CSS 中包含和不包含这些属性的情况下。

这是相关的 CSS 快速草稿:

.element {
    background-color:black;
    transition: transform 0.5s;
    transform:scale(1, 1, 1);
}

.element:hover {
    transform:scale(1.1, 1.1);
}

这里有一个快速记录来证明:https://streamable.com/cyvkjm

这也是为某些原因无法观看视频的人提供的屏幕截图:

【问题讨论】:

  • 此链接 (streamable.com/cyvkjm) 无效!
  • 这很奇怪。它对我来说很好。对于那些看不到视频的人,我将在帖子中附上屏幕截图。感谢您指出这一点!
  • 尝试在另一个浏览器中打开,您还没有登录到流媒体!

标签: html css animation dom css-transitions


【解决方案1】:

您的流媒体链接对我来说效果很好。我记得前段时间遇到过类似的问题,这与使用 3d 缩放有关 不过检查一下,我相当肯定 backface-visibility: hidden 和 -webkit 等效项将修复它。由于我无法重现这一点,我无法提供更多帮助 CSS transition on element leaving lines

编辑:在重现问题后,我们找到了解决方法。经过测试并在 Chrome/Edge/Firefox 中运行。透视(1000px)似乎比透视(0)效果更好

.element {
  transform: scale(1) perspective(1000px);
}
.element:hover {
  transform: scale(1.1) perspective(1000px);
}

【讨论】:

  • 您好!非常感谢您的帮助。不幸的是,两者都没有应用 backface-visibility: hidden;到元素的 CSS 和 -webkit-transform: translateZ(0);或变换: translateZ(0);最终解决了。即使是所有这些的组合最终也没有成功。非常感谢您的帮助,非常感谢!
  • 确保你使用了 -webkit-backface-visibility: hidden;如果在 Chrome 上,但无论如何祝你好运
  • 不幸的是,这也不起作用。甚至不能与所有其他解决方案结合使用。非常感谢您的帮助!我很感激。
  • 我可能已经为您找到了解决方法,如果,只需添加透视图(0);到你的转换结束。
  • 非常感谢!透视(1000px)确实比透视(0)效果更好。非常感谢您的帮助,非常感谢!奇怪的行为不再发生。