Css 条纹重复背景在IE中滚动时闪烁
尝试上下滚动此页面并观看下面的图像。您可能会注意到图像会闪烁。(不要使用滚轮,因为这可能会以较大的离散量滚动,您将看不到效果。) 为了避免在使用条纹背景时出现这种效果,可以将以下内容添加到CSS中:Css 条纹重复背景在IE中滚动时闪烁,css,internet-explorer,background-image,Css,Internet Explorer,Background Image,尝试上下滚动此页面并观看下面的图像。您可能会注意到图像会闪烁。(不要使用滚轮,因为这可能会以较大的离散量滚动,您将看不到效果。) 为了避免在使用条纹背景时出现这种效果,可以将以下内容添加到CSS中: 背景附件:固定 这会使背景保持固定,因此当用户滚动页面时,背景不会闪烁。这在Chrome和Firefox()中运行良好,但在IE中不起作用。背景附件功能应该在IE8及以上版本中得到支持,那么为什么这不起作用呢?更重要的是,如何消除IE中的闪烁?我建议您添加 background-repeat: n
背景附件:固定代码>
这会使背景保持固定,因此当用户滚动页面时,背景不会闪烁。这在Chrome和Firefox()中运行良好,但在IE中不起作用。背景附件功能应该在IE8及以上版本中得到支持,那么为什么这不起作用呢?更重要的是,如何消除IE中的闪烁?我建议您添加
background-repeat: no-repeat;
如果您还没有调整背景位置,请转到css。这可能有助于消除闪烁。还要确保使用正确的DOCTYPE来支持后台附件 您可以将其提供给IE9(在IE8中,它似乎不适用于伪元素,因此对于IE7-8支持,将其作为elmeent本身)或用于所有浏览器,但实际上将其放入一个固定的元素(或者在本例中为伪元素)中,为我解决了闪烁问题():
对于IE7-8():
我建议你加上
<script>
if(navigator.userAgent.match(/Trident\/7\./)) {
document.body.addEventListener("mousewheel", function() {
event.preventDefault();
var wd = event.wheelDelta;
var csp = window.pageYOffset;
window.scrollTo(0, csp - wd);
});
}
</script>
if(navigator.userAgent.match(/Trident\/7\./){
document.body.addEventListener(“鼠标滚轮”,函数(){
event.preventDefault();
var wd=event.wheeldta;
var csp=window.pageYOffset;
滚动到(0,csp-wd);
});
}
感谢您的回复,但问题是关于重复的背景,因此添加不重复
不是一个选项。是的,我认为使用实际的固定元素是最好的跨浏览器解决方案。谢谢请进一步解释OP需要添加建议脚本的原因。
.background {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url(http://www.commentnation.com/hotlinks/diagonal_pin_stripes_background_gray_on_white.gif);
background-attachment: fixed;
z-index: -1;
}
<script>
if(navigator.userAgent.match(/Trident\/7\./)) {
document.body.addEventListener("mousewheel", function() {
event.preventDefault();
var wd = event.wheelDelta;
var csp = window.pageYOffset;
window.scrollTo(0, csp - wd);
});
}
</script>