9

CSS を介して IE8 のスタイリングをハックする最善の方法を誰かが推奨できますか?

4

7 に答える 7

11

方法を逆にする必要があります。まず、最新のブラウザー (Firefox、Chrome、Opera、IE 9 など) でサイトが適切に表示される必要があります。その後、他のブラウザーについて心配することができます。

他の人が示唆したように、条件付きコメントはあなたの友達になることができます。

まず、最新のブラウザーで適切に表示されるように CSS を開発する必要があります。次に、IE8 をチェックして、どのような問題が発生するかを確認します。必要に応じて、IE 固有のスタイルシートを含めます。その後、IE7 をチェックインし、サポートしている場合は IE6 をチェックインし、さらに修正を加えることができます。

例:

<link rel="stylesheet" href="normal.css" type="text/css" />
<!--[if lt IE 9]><link rel="stylesheet" type="text/css" href="ie8.css"><![endif]-->
<!--[if lt IE 8]><link rel="stylesheet" type="text/css" href="ie7.css"><![endif]-->

この場合normal.css、最新のブラウザ用のものを含めます。奇妙な IE8 の問題がいくつか見つかったので、ie8.css問題を修正します。すべてのセレクターをこれに含める必要はなく、修正が必要なものだけを含める必要があります (値は IE 8 以前ではオーバーライドされます)。その後、IE7 にまだいくつか奇妙な点がある場合は、ie7.cssそれらを追加して修正することができます。

条件付きコメントの使用法に関する詳細については、他の人が提供したリンクを参照してください。

最後に: making IE8 render as IE7 for easeは決して良い考えではなく、避けるべきです。IE7 は遠い過去 (IT の世界では IE8 も遠い過去のはずです.オーディエンスとビジネス プラン)。

于 2011-04-12T13:38:31.337 に答える
5

条件付きコメントを使用します。

于 2011-04-12T13:20:44.480 に答える
5

投稿された他の回答として、条件付きコメントを使用できますが、ユーザーがIE8を使用している場合、HTTPリクエストが1つ追加されます。css ファイルで \0 ハックを使用できます

img{
width:200px;//other broswers
width:100px\0;//only IE8
}
于 2011-04-12T13:56:07.913 に答える
2

あなたが望むものをもう少し説明できますか?

一般に、IE8 は標準と完全に互換性があるため、HTML ドキュメントが標準モードであることを確認し、IE8 に他のブラウザーと同じスタイルシートを指定してください。

IE が動作していない場合、最良の解決策は、条件付きコメントを使用して IE に別のスタイルシートを与えることです。

于 2011-04-12T13:23:55.190 に答える
0

私は IE10 以下の CSS スタイルに適したオプションを探していました (ただし、IE8 でのみ機能します)。読みやすさのために余分なスタイルシートは必要なく、このアイデアを思いつきました。

<!--[if lt IE 10]><div class="column IE10-fix"><![endif]-->
<!--[if !lt IE 10]><!--><div class="column"><!--<![endif]-->

私は自分の div または追加のクラスで必要なものを宣言します。これにより、非常に読みやすい方法で同じスタイルシートに追加の CSS を含めることができます。

これは W3C で有効であり、変な CSS ハックではありません。

于 2016-09-30T15:11:31.690 に答える
0

ie7-js Javascript ライブラリを使用すると、古いバージョンの IE が、HTML と CSS を処理する適切なブラウザーのように動作するようになります。次に、他の人が示唆しているように、Chrome、Firefox、Opera などの最新バージョンで適切に動作する標準に準拠した方法でコードを記述します。

于 2011-04-12T18:59:17.737 に答える
-1

ie8 のみ: 最善の方法は

body{background:#f00\0/;}

\0/ は Ie8 CSS ハックです

于 2014-02-19T04:35:35.303 に答える