javascript - 为什么我用rotateY(180deg)时有时间空白

标签 javascript css animation transform

这是测试链接:http://codepen.io/Gavin-YYC/pen/BpGOVd/ .

html:

<div class="container">
  <button type="button" name="button" class="button">test</button>
  <div class="pic-wall">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
    <img src="test.jpg" alt="" data-back-pic="koi.jpg">
  </div>
</div>

CSS:

.pic-wall {
    perspective: 1400px;
    transform-origin: 50% 50%;
    backface-visibility: hidden;
}
.pic-wall .img-item {
    transform-style: preserve-3d;
}
.pic-wall .img-item img {
    backface-visibility: hidden;
}
.pic-wall .img-item img:nth-child(2) {
    transform: translateX(-50%) translateY(-50%) rotateY(-180deg);
}
.pic-wall .img-item.img-item-showback {
    transform: rotateY(180deg);
}

首次加载页面时,单击“测试”按钮。

你会发现有一阵空白。为什么?

我的代码有什么错误吗?

最佳答案

建议将图片放在 div 元素中。

div.html('<div class="img-origin" ><img src="' + originPic + '"></div><div class="img-back"><img src="' + backPic + '"></div>');

然后修改css

.pic-wall .img-item div {
  max-width: 100%;
  max-height: 100%;
  display: block;
  margin: 0 auto;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
  top : 0;
  left : 0;
}
.pic-wall .img-item div img{
  max-width : 100%;
}
.pic-wall .img-item .img-origin {

}
.pic-wall .img-item .img-back {
  -webkit-transform: rotateY(-180deg);
  -moz-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
}
.pic-wall .img-item.img-item-showback {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  transform: rotateY(180deg);
} 

经过一些 css 清理,最终它看起来像这样。

http://codepen.io/anon/pen/apQXZv?editors=0100

关于javascript - 为什么我用rotateY(180deg)时有时间空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42172155/

相关文章:

javascript - 简单的Javascript-HTML5音频,在结束前20秒调用函数

html - 具有不规则形状的两个相连的div-带有文本的图像

CSS 响应式改变 flex 布局

javascript - 字符串到数组,然后选中复选框

javascript - 如何使用 html5 为字 rune 本制作动画

javascript - MongoDB 根据日期更新变量

javascript - 通过字符串查找对象索引

javascript - CSS3 跳跃动画?

animation - jQueryMobile : page animations

javascript - Angular 2 - Twitter 搜索 api - 预检时仅应用程序身份验证错误 400