IE8和IE9中的背景颜色和ms线性渐变问题

时间:2012-04-12 14:29:04

标签: css internet-explorer firefox css3 css-transitions

以下是应用的CSS并解决了这个问题,

 background-color: rgba(91, 94, 85, 0.5) !important;
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F5B5E55,endColorstr=#7F5B5E55);
filter:ms-linear-gradient(startColorstr=#7F5B5E55,endColorstr=#7F5B5E55); /*fix for round corner edges in IE9 and input mess rendering in all IE */

图片1:FF,Chrome& IE 9工作正常

图片2:IE8不太好

我不确定如何在IE8中正确修复此输入。我猜它发生了过滤器过滤器:ms-linear-gradient 的becoz,如果我在IE8背景颜色应用中删除此过滤器,但输入混乱如下图像。

如果我有这个过滤器输入正在IE8背景颜色正确呈现未按预期应用

firefox working the inputs visible properly

IE8 the inputs bg are messed up

谢谢,

Nithish

1 个答案:

答案 0 :(得分:7)

您的代码问题:

  • background-color: rgba(91, 94, 85, 0.5) !important;
    这条线似乎没问题。但是,!important标志很可能是多余的。
  • filter:progid:DXImageTransform.Microsoft.gradient( ... );
    虽然-ms-filter: "..."; syntax is preferred in IE8+
  • ,但这一行也没问题
  • <强> filter:ms-linear-gradient(startColorstr=#7F5B5E55,endColorstr=#7F5B5E55);
    这开始麻烦了:

    1. Internet Explorer的供应商前缀为-ms-,(开头用连字符)。
    2. -ms-linear-gradient background的值,而不是filter
      此外,仅在IE 10 ...
    3. 时支持此值
  • //fix for round corner edges in IE9 CSS中的评论采用以下格式: /* comment */ 没有例外。

修正:

background-color: rgba(91, 94, 85, 0.5) !important;
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F5B5E55,endColorstr=#7F5B5E55);
-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F5B5E55,endColorstr=#7F5B5E55)";