删除/重置CSS行为属性

时间:2010-12-22 21:07:11

标签: css internet-explorer behavior html-components

是否可以通过更具体的规则或!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;
}

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

3 个答案:

答案 0 :(得分:41)

默认值为“none”。参见:

What is the *correct* way to unset the behavior property in CSS?

解决方案:

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

答案 1 :(得分:-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文件

答案 2 :(得分:-8)

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

<!--[if IE]>
<style type="text/css">
    .a-rule {
       behavior: url(/some.htc);
    }
</style>
<![endif]-->