3

你好..

我有一个标签,其背景默认为渐变(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>

或者

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

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

4

1 回答 1

10

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

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

您也可以查看我在这里制作的小提琴。

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

于 2012-09-03T07:20:41.647 回答