33

是否可以通过更具体的规则或!important声明删除特定于 IE 的行为 CSS 属性?例子:

.a-rule
{
  behavior: url(/some.htc);
}
.a-rule.more-specific
{
  behavior: /*no HTC*/
}

我意识到重写 CSS 属性是不可取的,但我被困在这里。

编辑时:我不确定人们在哪里对这个问题感到困惑。出于所有目的,您可以认为这已经是一个特定于 IE 的样式表。我在问,如果.a-rule上面存在并且是不可变的,如何通过更具体的规则消除行为?一个标准的 CSS 等价物是:

.a-rule
{
  border: 1px solid black;
}
.a-rule.more-specific
{
  border: 0 none;
}

可以通过更具体的规则重置元素子集的边框属性。我在问如何以类似的方式重置行为属性。

4

3 回答 3

42

默认值为“无”。看:

在 CSS 中取消设置行为属性的*正确*方法是什么?

解决方案:

.a-rule
{
  behavior: url(/some.htc);
}
.a-rule.more-specific
{
  behavior: none;
}
于 2010-12-24T14:38:05.730 回答
-5
.a_rule {
  border: 1px solid black; /* we know border is black */
  behavior: url(/some.htc) /* we know something happen inside some.htc */
}
 .a_rule.more-specific {
  border: 0 none; /* we remove the border */
  behavior: url(/some.htc) /* we remove something inside some.htc */
}

使用不同的.htc文件

于 2010-12-22T23:20:10.800 回答
-8

也许在你的脑海中使用 IE 的条件标签

<!--[if IE]>
<style type="text/css">
    .a-rule {
       behavior: url(/some.htc);
    }
</style>
<![endif]-->
于 2010-12-22T21:16:35.457 回答