bxSlider 背景图像在 chrome 中闪烁
bxSlider background-image flickers in chrome
我有个小问题。我使用 bxSlider 但我使用 background-image
而不是 <img>
。
在 chrome 中,我看到了一些闪烁,但我无法摆脱它。
也许有人有类似的问题,请告诉我如何治疗:)
这是我的代码
$('.bxslider').bxSlider();
.bxslider {
margin: 0;
padding: 0;
list-style-type: none;
}
.bxslider li {
height: 400px;
background-size: cover;
background-repeat: no-repeat;
background-position: top center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.js"></script>
<ul class="bxslider">
<li style="background-image: url(http://lorempixel.com/1920/400/sports)"></li>
<li style="background-image: url(http://lorempixel.com/1920/400/city)"></li>
</ul>
你也可以在JSFiddle
中看到它
浏览器分辨率 1700px 及更高时出现闪烁
有个选项useCSS
可能和闪烁有关,设置为false
看看。
useCSS
If true
, CSS transitions will be used for horizontal and vertical
slide animations (this uses native hardware acceleration). If false
,
jQuery animate()
will be used.
default: true
options: boolean (true / false)
我终于明白了。感谢@Pangloss,因为他的回答告诉我在哪里可以找到真正的问题。真正的问题是 -webkit-perspective
因为 bxSlider 使用 transform: translate3d()
。关于 -webkit-perspective
你可以在这里阅读 CSS-Tricks, here and MDN。
在这种特殊情况下,我的解决方案是 -webkit-perspective: 1000px;
。没有闪烁,我们将继续使用没有 JS 的 CSS 转换 :)
我有个小问题。我使用 bxSlider 但我使用 background-image
而不是 <img>
。
在 chrome 中,我看到了一些闪烁,但我无法摆脱它。
也许有人有类似的问题,请告诉我如何治疗:)
这是我的代码
$('.bxslider').bxSlider();
.bxslider {
margin: 0;
padding: 0;
list-style-type: none;
}
.bxslider li {
height: 400px;
background-size: cover;
background-repeat: no-repeat;
background-position: top center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.min.js"></script>
<ul class="bxslider">
<li style="background-image: url(http://lorempixel.com/1920/400/sports)"></li>
<li style="background-image: url(http://lorempixel.com/1920/400/city)"></li>
</ul>
你也可以在JSFiddle
中看到它浏览器分辨率 1700px 及更高时出现闪烁
有个选项useCSS
可能和闪烁有关,设置为false
看看。
useCSS
If
true
, CSS transitions will be used for horizontal and vertical slide animations (this uses native hardware acceleration). Iffalse
, jQueryanimate()
will be used.default: true options: boolean (true / false)
我终于明白了。感谢@Pangloss,因为他的回答告诉我在哪里可以找到真正的问题。真正的问题是 -webkit-perspective
因为 bxSlider 使用 transform: translate3d()
。关于 -webkit-perspective
你可以在这里阅读 CSS-Tricks, here and MDN。
在这种特殊情况下,我的解决方案是 -webkit-perspective: 1000px;
。没有闪烁,我们将继续使用没有 JS 的 CSS 转换 :)