3

私は最近、「CSS ハック」と「条件付きコメント」の議論を何度も受けているので、この質問を Stack Overflow コミュニティに投げ出そうと思いました。

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

IE 条件付きコメントの使用に対する主な議論は、ページの読み込みごとに追加の HTTP リクエストを追加しているため、ページの表示が遅くなっていることです。私見つけることができなかったのは、この声明を証明または反証する現実世界の指標です.

複数のスタイルシートと 1 つのスタイルシートを維持するという議論はさておき (それ自体は有効な議論ですが)、条件付きコメントを使用するとどれだけ速度が低下するかを判断するためのテストを行った人はいますか?他の誰かが収集した統計の方向に私はいますか?

4

1 に答える 1

7

これは、実際には条件付きコメント自体に関するものではなく、条件付きコンパイルのようなものです。

IEブラウザはあなたのページを含むものとして見るでしょう

<link type="text/css" rel="stylesheet" href="ie-specific.css" /> 

(コメント条件を評価するための少しの追加処理が必要です)。

IE以外のブラウザには、コメントが表示されます。

したがって、パフォーマンスに影響を与える可能性があるのは、IEブラウザーが条件付きコメント条件(無視できる程度)を評価してから、別のCSSファイルを含める必要があることだけです。もちろん、他のブラウザは一般的なファイルを見るだけで、コメントを完全に無視します。

問題は、IEに(たとえば)5Kb標準準拠のCSSファイルを提供し、その後に(たとえば)2Kbの「ハッキング」ファイルを提供し、他のすべての人に5Kbファイルだけを取得させることの長所と短所です。対危険なCSSを含む7Kbファイルをすべての人に提供します。ネットワークの速度と遅延、ファイルのサイズ、ページ全体で使用されるリソースの数などのさまざまな要因に応じて、これはIEの場合のパフォーマンスに顕著な影響を与える場合と与えない場合があります(間違いなく高速になります)非IEユーザーエージェントの場合)。

すべてのパフォーマンスに関する質問と同様に、環境内のコードをプロファイリングして影響を確認する必要があります、一般的なガイドラインとして、IEの場合は影響が無視できると予想され、他のすべてのブラウザーの場合はパフォーマンスがわずかに向上します。また、実際のファイルに「適切な」CSSを記述して、IEを個別に修正できるというあいまいな感覚もあります。

于 2009-12-01T10:56:10.937 に答える