0

だから私はIE8以下が好きではないことを知っていますが、私はそれが同じ振る舞いをもたらすはずinline-blockだと読みました。inlineそこで、を変更してコピーし、main.cssすべてmain-ie8below.cssをに変更しinline-blockましたinline。私はこれを達成するために次のコードを使用します:

        <!--[if lte IE 8]>
            <link rel="stylesheet" type="text/css" href="/media/css/main-ie8below.css" />
        <![endif]-->
        <!--[if gt IE 8]>
            <link rel="stylesheet" type="text/css" href="/media/css/main.css" />
        <![endif]-->
        <!--[if !IE]><!-->
            <link rel="stylesheet" type="text/css" href="/media/css/main.css" />
         <!--<![endif]-->

ただし、これは機能していません。私のifステートメントが正しくないようです。それは事実ですか、それとも私は何か他のものを逃していますか?

問題のHMTLは次のとおりです(不要なものは削除されています)。

    <nav id="main_nav" role="navigation"><!--
                            <div><a href=""><img src=""  /></a></div><!--
                    --><div><a href=""><img src=""  /></a></div><!--
                    --><div><a href=""><img src=""  /></a></div><!--
                    --><div><a href=""><img src=""  /></a></div><!--
                    -->

画像がない場合を除いて、これがフィドルです。

http://jsfiddle.net/bqXsU/

4

2 に答える 2

3

次のように使用する必要があります。

display: inline;
zoom: 1;

その部分を見逃したと思いますzoom: 1。また、IE のすべてのバージョンと最新のブラウザーに対応する既存のスタイルシートと組み合わせる場合は、次のように使用することをお勧めします。

display: inline-block;
*display: inline;
*zoom: 1;

しかし問題は、CSS が検証されない可能性があることです。


わかりません、あなたが理解できなかったのはどの部分ですか。私が使用した3つのことを説明しましょう。

  1. Star Hack:スタイル ルールの前にaを追加する*と、IE 7 以下でのみ表示されます。
  2. 検証の問題: ルール*zoom*displayは有効な CSS プロパティではありません。
  3. これはどのように作動しますか?IE 7 以前では、これにより要素zoom: 1;のプロパティがトリガーされ、 、、およびhasLayoutが使用可能になります。widthheightmarginpadding
于 2013-02-15T16:26:23.700 に答える
0

HTML5 要素が IE8 で認識されないことが原因であることが判明しました。HTML5shiv を追加することで修正できました。

于 2013-02-15T19:27:27.413 に答える