【问题标题】:CSS changing colors in different browsersCSS在不同浏览器中改变颜色
【发布时间】:2013-06-06 04:34:59
【问题描述】:

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

使用 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 */
}

【问题讨论】:

  • 你能提供一段代码吗?我们想确切地知道它的全部内容。
  • 那张“IE9”屏幕截图是在“Windows95”主题的PC上使用的吗? ;-)
  • 你的颜色是 rgba 颜色吗?渐变滤镜对具有透明度的颜色采用不同的格式。
  • 它只是来自那些从不同浏览器渲染的网站之一:-P

标签: css internet-explorer browser


【解决方案1】:

您的 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 */
}

【讨论】:

【解决方案2】:

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

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

只需删除它。

【讨论】:

    猜你喜欢
    • 2015-08-04
    • 2016-09-25
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 2011-08-07
    • 2016-10-11
    • 1970-01-01
    相关资源
    最近更新 更多