1

ノックアウト js を使用して UI をレンダリングします。さらに、reset.css を使用してスタイルをクリアします。リセットCSSにこれがあります:

ol, ul {
list-style-image:none;
list-style-position:outside;
list-style-type:none;
}

そして私のスタイルファイルでは:

.wysiwyg ol, .wysiwyg ul
{
    list-style: inherit !important;
    padding-left: 15px;
    margin-bottom: 10px;
}
.wysiwyg ol li
{
    list-style: decimal outside;
}
.wysiwyg ul li
{
    list-style: disc outside;
}

そして問題は、リストのスタイルが IE7 では適用されないことです。しかし、エミュレーション モードで IE9 を使用し、[編集] ボタンを押してマークアップを保存すると、すべて問題なく動作します。したがって、これはcssクラスの連鎖と継承の問題だと思います。IE7 に私の css クラスを強制的に使用させる方法を事前に教えてもらえますか?

4

1 に答える 1

1

IE <8 には、継承に関する大きな問題があります。これを回避する最も簡単な方法は、可能であれば継承ではなくスタイルを再宣言することです。

IE7 を標準準拠のブラウザのように動作させようとするie7-jsを使用することもできます。これはかなりうまく機能しますが、完全ではありません。reset-stylesheet を使用すると問題が発生する可能性があります。試してみて、うまくいくかどうかを確認してください。

3 番目の可能性は、次のような IE の css 式を使用することです (注: これは私の頭から直接入力したものであり、テストされていませんが、アイデアを得る必要があります):

list-style:inherit; /* standards-compliant browsers */
//list-style:expression(this.parentNode.currentStyle['listStyle']); /* IE */
于 2012-04-19T09:31:43.743 に答える