Html 使用CSS3媒体查询时减少HTTP请求
我正在尝试使用这里讨论的CSS3媒体查询技术 如果我从下面抓取代码,并使用某种模拟器在新页面上运行它,该模拟器将自身识别为具有小屏幕的设备(例如device Central或Protofluid),我可以在Charles中看到,即使选择了正确的stylsheet,仍会对每个CSS文件发出请求,这是正常行为吗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
<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请求”。天哪,澄清到底发生了什么(这只是修辞,不需要回答这个问题)。