スタイルシートを含む使用可能なブラウザー条件のリストはありますか?

StackOverflow https://stackoverflow.com/questions/46124

  •  09-06-2019
  •  | 
  •  

質問

HTML で次のようなことをしている人を見てきました。

<!--[if IE]>
  <link rel="stylesheet" href="ie.css" type="text/css" />
<![endif]-->

これは最新のすべてのブラウザで機能しますか? また、その種の if ステートメントで機能するブラウザの種類のリストはありますか?

編集

ありがとう ロス. 。調べると面白い gt、lt、gte、および lte.

役に立ちましたか?

解決

IE 以外のブラウザではすべてが表示されるため、これはすべてのブラウザで機能します。 <!--IGNORED COMMENT-->. 。コメントに条件句が含まれている場合、IE のみがコメントを読み取ります。見て この記事

IE のバージョンを指定することもできます。例えば:

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

他のヒント

Javascript を使用できる場合は、いくつかのオプションがあります。

navigator.appName
navigator.appVersion 

リンク

または、次のようなライブラリを使用することでより堅牢なものになります。 jQuery.

最後に、次を使用できます。 ブラウザ検出 QuirksMode のオブジェクト。

ブラウザの名前とバージョンを取得したら、HTML を挿入してスタイル シートにリンクしたり、他のタグを含めたりできます。

Ross の答えにさらに追加すると、条件付きコメントでは Internet Explorer レンダリング エンジンのみをターゲットにすることができます。他のブラウザには同様の構造はありません。たとえば、Firefox を対象とする条件付きコメントを作成することはできませんが、Internet Explorer では無視されます。

上記の例と同じ効果を達成する方法は、ユーザー エージェント文字列を盗聴することです。次に、そのブラウザに適した CSS ファイルを提供します。互換性のためにユーザー エージェント文字列を変更する場合があるため、これは完璧ではありません。

さまざまなブラウザをターゲットにするもう 1 つの方法は、ブラウザ固有のハッキングを利用することです。これらは通常ブラウザのバグに依存しており、バグは修正される可能性があるため、特に厄介です。

私の意見では、ユーザー エージェント スニッフィングは最良の総合的なソリューションです。

条件付きコメントは、IE (バージョン 5 以降) 専用です。Microsoft の公式ドキュメントは次のとおりです。 ここ. 。これらを使用する場合の最善の戦略は、通常のインクルードの後に​​外部スタイルシートまたは JavaScript ファイルを条件付きでインクルードすることです。これは、IE では、IE 固有のコードが他のすべてをオーバーライドすることを意味します。他のブラウザでは、コードはコメントとして扱われ、パーサーによって無視されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top