Css 条纹重复背景在IE中滚动时闪烁

Css 条纹重复背景在IE中滚动时闪烁,css,internet-explorer,background-image,Css,Internet Explorer,Background Image,尝试上下滚动此页面并观看下面的图像。您可能会注意到图像会闪烁。(不要使用滚轮,因为这可能会以较大的离散量滚动,您将看不到效果。) 为了避免在使用条纹背景时出现这种效果,可以将以下内容添加到CSS中: 背景附件:固定 这会使背景保持固定,因此当用户滚动页面时,背景不会闪烁。这在Chrome和Firefox()中运行良好,但在IE中不起作用。背景附件功能应该在IE8及以上版本中得到支持,那么为什么这不起作用呢?更重要的是,如何消除IE中的闪烁?我建议您添加 background-repeat: n

尝试上下滚动此页面并观看下面的图像。您可能会注意到图像会闪烁。(不要使用滚轮,因为这可能会以较大的离散量滚动,您将看不到效果。)

为了避免在使用条纹背景时出现这种效果,可以将以下内容添加到CSS中:

背景附件:固定

这会使背景保持固定,因此当用户滚动页面时,背景不会闪烁。这在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>