【发布时间】:2020-11-06 18:06:22
【问题描述】:
我在这里创建了一个减少此错误的方法:http://codepen.io/benfrain/full/PZjpxr
在 iOS Safari 中,当将元素从 overflow:hidden 包装器外部转换回其中时,该元素仅在转换完成时呈现。
.wrapper {
height: 200px;
width: 200px;
overflow: hidden;
}
.item {
transition: transform 1s;
}
.toggled .item {
transform: translate3d(0, 300px, 0);
}
这在 iOS 9 上尤为明显,但在 iOS 9.2 上进行测试时,在运行 4 或 5 次转换后仍会发生这种情况。这也只是其中包含文本的元素的问题。右侧的空项(红色)正确过渡。
有谁知道不涉及使用 margin-top 执行垂直移动的任何解决方法?
【问题讨论】:
-
Safari 是否还需要 -webkit- 前缀,也许?
-
我不这么认为,因为将 div 向下发送的过渡效果很好。我会将它们添加到笔中以排除这种情况。
-
你试过在
.item上使用-webkit-transform-style: preserve-3d;吗?另外我会尝试包括每个属性的-webkit-变体。 -
感谢您的想法,我以前不知道该属性。不幸的是,它只会使空 div 转换与导致问题的带有文本的转换一样糟糕。
-
也许下面的答案可以解决你的问题:stackoverflow.com/questions/21087979/…
标签: ios css overflow css-transitions