Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用CSS3媒体查询时减少HTTP请求_Html_Css_Media_Httprequest - Fatal编程技术网

Html 使用CSS3媒体查询时减少HTTP请求

Html 使用CSS3媒体查询时减少HTTP请求,html,css,media,httprequest,Html,Css,Media,Httprequest,我正在尝试使用这里讨论的CSS3媒体查询技术 如果我从下面抓取代码,并使用某种模拟器在新页面上运行它,该模拟器将自身识别为具有小屏幕的设备(例如device Central或Protofluid),我可以在Charles中看到,即使选择了正确的stylsheet,仍会对每个CSS文件发出请求,这是正常行为吗 <link rel="stylesheet" href="smartphone.css" media="only screen and (min-device-width : 320

我正在尝试使用这里讨论的CSS3媒体查询技术

如果我从下面抓取代码,并使用某种模拟器在新页面上运行它,该模拟器将自身识别为具有小屏幕的设备(例如device Central或Protofluid),我可以在Charles中看到,即使选择了正确的stylsheet,仍会对每个CSS文件发出请求,这是正常行为吗

<link rel="stylesheet" href="smartphone.css" media="only screen and (min-device-width : 320px) and (max-device-width : 480px)">
<link rel="stylesheet" href="smartphone-landscape.css" media="only screen and (min-width : 321px)">
<link rel="stylesheet" href="smartphone-portrait.css" media="only screen and (max-width : 320px)">
<link rel="stylesheet" href="ipad.css" media="only screen and (min-device-width : 768px) and (max-device-width : 1024px)">
<link rel="stylesheet" href="ipad-landscape.css" media="only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape)">
<link rel="stylesheet" href="ipad-portrait.css" media="only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait)">
<link rel="stylesheet" href="widescreen.css" media="only screen and (min-width : 1824px)">
<link rel="stylesheet" href="iphone4.css" media="only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5)">

是的,链接元素中的任何样式表都将被下载,媒体查询将动态评估。例如,当有人转动他们的设备时,需要应用你的样式表
ipad-landscape.css
ipad-trait.css
,你不想等到他们这样做后才开始下载样式表和任何引用项,它应该马上准备好。唯一的例外是(或可能是)备用样式表

这方面的处理模型是:

获得 资源是当外部资源 链接已创建,或其元素已创建 插入到文档中,以 发生在最后。如果资源是 替代样式表,然后是用户 代理可能延迟获取资源 直到它成为首选方案的一部分 样式表集


是的,link元素中的任何样式表都将被下载,媒体查询将被动态评估。例如,当有人转动他们的设备时,需要应用你的样式表
ipad-landscape.css
ipad-trait.css
,你不想等到他们这样做后才开始下载样式表和任何引用项,它应该马上准备好。唯一的例外是(或可能是)备用样式表

这方面的处理模型是:

获得 资源是当外部资源 链接已创建,或其元素已创建 插入到文档中,以 发生在最后。如果资源是 替代样式表,然后是用户 代理可能延迟获取资源 直到它成为首选方案的一部分 样式表集


因此,您是否建议提供一个CSS文件“media querys.CSS”,并在其中使用媒体查询块,而不是多个链接元素?@Danjah这其实不是同一个问题-所有这些答案都是说所有CSS都将以任何方式下载我想是这样的,我的问题与减少http请求有关,就像“是否有必要”。@Danjah,所以请提出一个问题,停止对这个问题发表评论;)感谢您的建议,提醒您,这个问题的标题是:“使用CSS3媒体查询时减少HTTP请求”。天哪,澄清(这是修辞,不需要回答这个问题)发生了什么。因此,您是否建议提供一个CSS文件“media querys.CSS”,并在其中使用媒体查询块,而不是多个链接元素?@Danjah这不是一个真正相同的问题-所有这些答案都是说所有的CSS都将以任何方式下载我想是的,我的问题是减少http请求,就像“是否有必要”。@Danjah问一个问题,停止评论这个问题;)感谢您的建议,提醒您,这个问题的标题是:“使用CSS3媒体查询时减少HTTP请求”。天哪,澄清到底发生了什么(这只是修辞,不需要回答这个问题)。