【发布时间】:2016-07-25 18:11:53
【问题描述】:
我一直在使用 3D 变换构建棱镜旋转效果。 transform-origin-z 属性似乎最适合变换棱镜的面,但 Safari 5 和 Mobile Safari 莫名其妙地拉伸了我的元素,即使没有应用变换。 Firefox 12 和 Chrome 18 可以正常工作。
我有兴趣了解为什么会发生这种情况。我应该完全避免transform-origin-z,还是有一些针对 Safari 和 Mobile Safari 的解决方法?
<style>
/* other browser prefixes omitted for brevity */
.container {
margin: 50px;
border: 2px solid #00f;
height: 50px;
-webkit-perspective: 500px;
}
.face {
height: 50px;
background-color: rgba(255,0,0,0.5);
-webkit-transform-origin: center center -25px;
-webkit-transform: translate3d(0,0,0);
}
</style>
<div class="container">
<div class="face"></div>
</div>
【问题讨论】:
-
只是为了确定您的意思:问题是,值中的最后一个
-25px实际作用是什么? -
不,我明白它的作用。我不明白为什么它在 Safari 中的行为不正确或如何修复它。根据the spec,
transform-origin在未应用任何转换时应该无效。 -
在一些 css 3d 转换中看到相同的错误。
-
我之前也遇到过这个问题——我切换到使用 translate-z、rotate、translate-z 后退序列来确保浏览器之间的一致性,尽管我从未得出关于哪个浏览器的行为是正确。
标签: css safari mobile-safari