Safari transform rotate 不兼容问题及解决
转自:https://lunashu.org/safari-transform-rotate-bu-jian-rong-wen-ti-ji-jie-jue/
问题
移动端写CSS3 时 发现在safari 上 一个元素使用了 transform:rotateY(19deg); 显示有问题。当然 不仅仅是 rotateY, 所有跟rotate有关的都有可能出现问题,当然包括rotate3d。
比如这样
.css {
-webkit-transform: rotateX(-33deg) rotateY(-50deg);
transform: rotateX(-33deg) rotateY(-50deg);
}
表现
这是正常状态的表现:
这是不正常的表现:
以及页面滚动时:
问题出现了,图片不见了,就算可见也是缺一角!
于是寻求baidu google。。。。终于看到了相似问题
解决方案
试着 在父类元素上添加 perspective
先来看看它的介绍
定义和用法
perspective 属性定义 3D 元素距视图的距离,以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。
当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身。
注释:perspective 属性只影响 3D 转换元素。
于是乎我在 父级元素加入perspective
.father {
transform: perspective(400px);
// 为啥是400? 因为animate.css中flipInX用到的就是400;我这里是引用了 animate.css 所以 根据它的设定我也设定了400
}
然后。。。你去看看吧。。。反正就是。。。解决了!没毛病!