css - Safari 11 - CSS 动画中的空白

标签 css animation safari transform

调整浏览器大小时,Safari 11 中有空白。

.river {
  width: 100%;
  overflow: hidden; 
  position: relative;
}

.river-frame {
  width: 100%;
  position: relative;
  animation: river-horizontal 10s infinite linear;
}

.river-frame:after {
  content: "";
  height: 100%;
  width: 500%;
  position: absolute;
  left: 0;
  top: 0;
  background-size: 20% 100%;
  background-image: url(https://dummyimage.com/600x400/000/fff);
}

.river-frame-img {
  width: 100%;
}

@keyframes river-horizontal {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
<div class="river">
  <div class="river-frame">
    <img class="river-frame-img" src="https://image.ibb.co/iUbhYw/library.jpg">
  </div>
</div>

我们找不到问题的根源,感谢任何帮助。假设我们只想在动画中使用变换。

最佳答案

Safari 浏览器需要强制重绘。有一个技巧可以使用 jQuery 完成。在您的文档中包含 jQuery。运行这个小脚本,事情就会按预期进行。我已经包含了下面的代码片段。希望能帮助到你。 😃

$(window).resize(function() {
  $('.river').hide().show(0);
})
.river {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.river-frame {
  width: 100%;
  position: relative;
  animation: river-horizontal 10s infinite linear;
}

.river-frame:after {
  content: "";
  height: 100%;
  width: 500%;
  position: absolute;
  left: 0;
  top: 0;
  background-size: 20% 100%;
  background-image: url(https://image.ibb.co/iUbhYw/library.jpg);
}

.river-frame-img {
  width: 100%;
}

@keyframes river-horizontal {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="river">
  <div class="river-frame">
    <img class="river-frame-img" src="https://image.ibb.co/iUbhYw/library.jpg">
  </div>
</div>

.

关于css - Safari 11 - CSS 动画中的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46885074/

相关文章:

ios - 在没有 CAKeyframeAnimation 的情况下为沿着路径的 View 设置动画

android - 以圆形显示动画为中心

html - Chrome 和 Safari 绝对 Div 显示问题

CSS:为什么 Safari 中有一些灰色的奇怪东西?

ios - 修复 safari/iOS 上丢失的 unicode 符号

javascript背景大小和IE问题

css - Angular - Material : Progressbar custom color?

python - 使用基于示例的代码暂停动画时遇到问题

php - 滚动条区域在 Chrome 中只是蓝色的

html - 为什么文本内容会影响表格单元格的宽度?