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

Nit*_*ish 1 css firefox internet-explorer 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 */
Run Code Online (Sandbox Code Playgroud)

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

图2:IE8不行

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

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

firefox正确地处理输入

IE8输入bg搞砸了

谢谢 ,

Nithish

Rob*_*b W 7

代码问题:

  • background-color: rgba(91, 94, 85, 0.5) !important;
    这条线似乎没问题.但是,该!important标志很可能是多余的.
  • filter:progid:DXImageTransform.Microsoft.gradient( ... );
    这行也行,虽然-ms-filter: "...";在IE8 +中首选语法.
  • filter:ms-linear-gradient(startColorstr=#7F5B5E55,endColorstr=#7F5B5E55);
    这开始麻烦:

    1. Internet Explorer的供应商前缀是-ms-(开头的连字符).
    2. -ms-linear-gradient是一个值background,而不是filter.
      此外,仅在IE 10中支持此值...
  • //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)";
Run Code Online (Sandbox Code Playgroud)