オブジェクトを右揃えにする必要があります。IE6 を除くすべてのブラウザで正しく動作しています。cssでこれを機能させるにはどうすればよいですか? これが私のCSSです:
.object {
position:fixed;
right:0;
left:auto;
}
私の質問は: css ファイルを編集して IE6 にオブジェクトを配置するにはどうすればよいですか?
オブジェクトを右揃えにする必要があります。IE6 を除くすべてのブラウザで正しく動作しています。cssでこれを機能させるにはどうすればよいですか? これが私のCSSです:
.object {
position:fixed;
right:0;
left:auto;
}
私の質問は: css ファイルを編集して IE6 にオブジェクトを配置するにはどうすればよいですか?
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;
}
完全な回避策については、こちらで説明しています。
残念ながらposition:fixed
、IE6では認識されませんが、実行できる修正があります。
これを条件付きコメントとしてHTMLに追加してみてください。
<!--[if IE 6]>
html, body {
height: 100%;
overflow: auto;
}
body .object {
position: absolute;
bottom: 0;
}
<![endif]-->