現在、私は Web ページに取り組んでおり、IE のみにスタイルを設定する必要があります。条件付きコメントを使用しています:
<!--[if IE]>
<link rel="Stylesheet" href="../../IEstyles.css" rel="Stylesheet" />
<![endif]-->
これはこれを行うための最良の方法ですか、それともjavascriptを使用するのがベストプラクティスですか?
現在、私は Web ページに取り組んでおり、IE のみにスタイルを設定する必要があります。条件付きコメントを使用しています:
<!--[if IE]>
<link rel="Stylesheet" href="../../IEstyles.css" rel="Stylesheet" />
<![endif]-->
これはこれを行うための最良の方法ですか、それともjavascriptを使用するのがベストプラクティスですか?
Html5Boilerplateは、ベスト プラクティスのサイトであり、推奨事項は次のとおりです。
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]> <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]> <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
これにより、1 つのスタイルシートを保持し、上記のクラスのいずれかを先頭に追加して、特定の条件付きハックをターゲットにすることができます。
それがほぼベストプラクティスです。[if lt IE 9]
IE 9 は CSS を十分にサポートしていますが、ブラウザースニッフィング JavaScript は絶対に使用しないでください。それはほとんどの場合、問題に対する最悪の解決策です。
すべての人が JavaScript を有効にしているわけではありません。HTML コメントは、私が知っているすべての主流ブラウザーでサポートされています。
これは単なるスタイルシートであり、したがって UI の問題であるため、javascript を避け、条件付きコメントを使用して IE をターゲットにします。これにより、何らかのブラウザ スニッフィングを試みた場合に、JavaScript が無効になっている人々の問題も回避されます。
条件付きコメントを使用します。他のブラウザがスクリプトをダウンロード/実行する必要がなくなりますが、IE ユーザーのために常に機能するという利点があります。
訪問者が JavaScript を無効にしたり、スクリプトを無効にしたりしないという保証はないため、条件を使用することをお勧めします。これは IE ブラウザーでのみ機能するため、他のブラウザーはそれを無視しますが、IE 用かどうかにかかわらず、すべてのブラウザーが Javascript を処理します。
Javascript は無効にできるので、条件付きコメントは IE 固有の CSS を提供する最良の方法だと思います。