【问题标题】:css3 rotateX creates a linecss3 rotateX 创建一条线
【发布时间】:2016-10-02 15:21:58
【问题描述】:

Reproduction online

为什么这条白线可见? 它实际上不是白色的,只是显示了网站的背景,恰好是白色的。

当使用背景图像而不是旋转 div 的颜色时,不会发生这种情况。

使用它来应用旋转:

$('.box').css('transform', 'translateZ(-'+halfHeight+'px) rotateX('+ deg +'deg)')

【问题讨论】:

  • 感觉就像一个浏览器神器。它肯定不会发生在我的 PC 上(Windows 10 上的 Firefox 49 x64)
  • 在 Chrome (Windows) 53.0.2785.116 上也不会发生。
  • 感谢 cmets!

标签: javascript css transform css-transforms rotatetransform


【解决方案1】:

这是图形渲染器的问题。而且,它不会在所有计算机中都相同。

我的建议是,不要使用translateZ(),而是使用translate3d(),这将在可用时使用GPU,并且动画会很流畅,不会丢帧。

更多阅读请访问MDN

【讨论】:

  • 是的,我可以将transladeZrotateX 分别替换为translate3drotate3d,但这无论如何也解决不了问题。 jsfiddle.net/98otxxwm/14
  • @Alvaro 它会强制系统使用 GPU 而不是 CPU,这可能会解决这个问题
  • 请注意... translateZ 启用 3d 引擎。 Z 轴位于 3d 空间中。
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 2012-03-31
  • 2012-02-24
  • 2018-03-09
  • 2019-03-12
  • 2018-12-08
  • 2014-01-17
  • 1970-01-01
相关资源
最近更新 更多