2

CSSメディアクエリについて質問があります。CSSメディアクエリがWebページのhttpリクエストの数に影響するかどうか知りたいのですが。

例えば:

<link rel="stylesheet" href="file.css" media="only screen and (max-width: 640px)">
<link rel="stylesheet" href="file2.css" media="only screen and (max-width: 960px)">
<link rel="stylesheet" href="file3.css" media="only screen and (max-device-width: 480px)">

私の質問は次のとおりです。CSSメディアクエリの理解から、Webページの訪問者が1つのデバイス/モニターを使用している場合、他のスタイルシートは適用されません。メディアクエリが訪問者に適用されない場合でも、ページにhttpリクエストが追加されますか?

4

1 に答える 1

1

HTTPリクエストは、media属性の内容に関係なく、リンクされているすべてのスタイルシートをダウンロードするために行われます。

<link rel="stylesheet" href="devices.css" media="only screen and (max-width : 767px)">
<link rel="stylesheet" href="wider.css" media="all">

2つのHTTPリクエストが発生します。次のHTML5仕様の作業ドラフトのセクション4.12.5.11を参照してくださいlinkshttp ://www.w3.org/html/wg/drafts/html/master/links.html#link-type-stylesheet

リソースを取得する適切なタイミングは、外部リソースリンクが作成されたとき、またはその要素がドキュメントに挿入されたときのいずれか最後のときです。リソースが代替スタイルシートである場合、ユーザーエージェントは、リソースが優先スタイルシートセットの一部になるまで、リソースの取得を延期する場合があります。

HTTPリクエストを最小限に抑えるには、スタイルシートを1つのファイルにまとめて@media (max-width:767px){ ... }、などでラップします。

于 2012-12-10T20:10:11.980 に答える