CSS后台属性不能覆盖IE过滤属性?

时间:2012-09-03 06:51:00

标签: html css

您好..

我有一个标签,其背景默认为渐变(IE)。

     label{
      width:100px;
      height:100px;
      border:1px solid red;
      filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorStr="#ff3333",endColorStr="#663300");
     }
<label> Rama Rao </label>

我允许用户更改渐变或普通的背景颜色。我得到了用户输入的值,并设置了css:

<label style="background:#val1"> Rama Rao </label>

OR

  <label style="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorStr="#val1",endColorStr="#val2");"> Rama Rao </label>

如果用户再次设置渐变,它会起作用...但是如果用户输入正常颜色则不行......但据我所知,inline-style可以覆盖内部样式.....但它不适用于{ {1}} case (我的意思是,过滤器不能被背景覆盖) ...我怎样才能克服这个问题?
注意:对于名称震动,我在这里提到了filter ......但是任何标签都可能发生......

1 个答案:

答案 0 :(得分:10)

您可以使用以下方法将其删除:

filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);

你也可以查看我制作的这个小提琴here

您用于渐变的代码仅适用于Internet Explorer。如果您想要与大多数浏览器兼容的代码,请选中此工具here