【发布时间】:2012-05-12 20:12:43
【问题描述】:
我们的网站基本上由三列组成,每列都通过线性渐变应用不同的颜色。虽然这在 Firefox 和 Chrome 中运行良好,但在 IE8 中会中断,例如,最远两列的背景是白色的,左列的图像大小不正确(不确定哪个 CSS 元素负责破坏它)。它在 Chrome 中看起来很完美,但在 IE8 中看起来很糟糕。
网站在这里:http://clubsatcrp.com/walkingchallenge/
任何人对解决此问题的解决方案有任何想法,并且至少使其在 IE8 中的列背景颜色方面看起来相同?我没有解决这个问题完全没问题,但因为它是针对公司计划的,而且我们公司使用 IE8,所以这是一个问题。
这是 CSS 的一部分(线性渐变):
background: -webkit-linear-gradient(
left,
#c63d11,
#c63d11 33.33%,
#CD0000 33.33%,
#CD0000 66.66%,
#000000 66.66%,
#000000
);
background: -moz-linear-gradient(
left,
#c63d11,
#c63d11 33.33%,
#CD0000 33.33%,
#CD0000 66.66%,
#000000 66.66%,
#000000
);
background: -ms-linear-gradient(
left,
#c63d11,
#c63d11 33.33%,
#CD0000 33.33%,
#CD0000 66.66%,
#000000 66.66%,
#000000
);
background: -o-linear-gradient(
left,
#c63d11,
#c63d11 33.33%,
#CD0000 33.33%,
#CD0000 66.66%,
#4e9dd1 66.66%,
#4e9dd1
);
【问题讨论】:
-
-ms-linear-gradient是 IE10 的一项功能。在此之前,必须使用filter属性。 marked duplicate 对此进行了全面介绍。 -
我认为有更好的方法,因为我们实际上不需要渐变,而是需要两种特定宽度的纯色(33.33%、66.66%)。渐变过滤器的行为也不是我想要的。想法?
-
在您现有的代码中,您应该在末尾添加一个带有
linear-gradient属性的无前缀指令,以便供应商在不久或远的将来考虑它。这是面向未来的说明;)(请参阅我的答案以了解另一种方法) -
@Greg 使用多种背景:jsfiddle.net/3N5ch/1。