0

我正在构建的网站上遇到一个有点奇怪的错误。

使用 Chrome/Firefox/Safari/IE10 可以正常工作。但是,使用IE9它会变成蓝色!怎么了?

我怀疑这段代码搞砸了(@colorOne,@colorTwo 被实际颜色取代):

.gradient (@colorOne, @colorTwo) {
    background: @colorOne; /* Old browsers */
    background: -moz-linear-gradient(top,  @colorOne 0%, @colorTwo 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,@colorOne), color-stop(100%,@colorTwo)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  @colorOne 0%,@colorTwo 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  @colorOne 0%,@colorTwo 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  @colorOne 0%,@colorTwo 100%); /* IE10+ */
    background: linear-gradient(to bottom,  @colorOne 0%,@colorTwo 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@colorOne', endColorstr='@colorTwo',GradientType=0 ); /* IE6-9 */
}
4

2 回答 2

3

您的 CSS 中的#top元素和站点内的其他元素有一个蓝色的 Microsoft 过滤器渐变。但由于您专门询问标题,只需删除:

#top {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@colorOne', endColorstr='@colorThree', GradientType=1);
  /* Remove this from any other element you wish to be green */
}
于 2013-06-05T19:34:09.487 回答
1

唯一的区别是仅由 IE 解释的渐变:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@colorOne', endColorstr='@colorThree', GradientType=1

只需将其删除。

于 2013-06-05T19:35:12.510 回答