-3

オブジェクトを右揃えにする必要があります。IE6 を除くすべてのブラウザで正しく動作しています。cssでこれを機能させるにはどうすればよいですか? これが私のCSSです:

.object {
position:fixed;
right:0;
left:auto;
}

私の質問は: css ファイルを編集して IE6 にオブジェクトを配置するにはどうすればよいですか?

4

2 に答える 2

2

Moose が説明したように、固定配置は IE6 では機能しません。彼が提示したように、IE6 では絶対配置を使用する必要があります。

HTML の条件付きコメントよりも、* htmlハックを使用して IE のみが表示する必要がある CSS プロパティを分離することをお勧めします。これはより洗練されており、コードをクリーンに保ち、CSS ファイルでソートすることができます。

問題は、.myclass { /* css properties */ }スタイルシートにある場合、後で* html .myclass { /* css properties */ }、両方のブロックで定義されているプロパティが無視され、2 番目のブロックではすべてのブラウザーで無視されることです (これは、セレクターのプロパティが同じであり、後に配置されるためです)ファイル内)。しかし、Internet Explorer ではプロパティの計算方法が異なり、* htmlセレクターにあると実際にはより高いプロパティが得られます。

このようにして、次のようなコードを作成できます。

.myclass {
    position: fixed;
    right: 0;
}

* html myclass {
    /* Only IE */
    position: absolute;
}

完全な回避策については、こちらで説明しています。

于 2013-01-20T19:58:20.447 に答える
0

残念ながらposition:fixed、IE6では認識されませんが、実行できる修正があります。

これを条件付きコメントとしてHTMLに追加してみてください。

<!--[if IE 6]>
    html, body {
        height: 100%;   
        overflow: auto; 
        }
    body .object {
        position: absolute;
        bottom: 0;
        }
<![endif]-->
于 2013-01-20T19:38:16.763 に答える