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 に答える