IE条件评论会减慢页面加载吗?

Sco*_*tie 3 html css internet-explorer conditional-comments

我最近有足够的时间对"CSS hacks"和"Conditional Comments"这个论点进行过充分的讨论,我认为我会把这个问题抛给Stack Overflow社区.

<!--[if IE]>
 <link type="text/css" rel="stylesheet" href="ie-specific.css" /> 
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

反对使用IE条件注释的主要论点似乎是您在每个页面加载上添加了额外的HTTP请求,从而减慢了页面的显示速度.我无法找到的任何实际指标都证明或反驳了这一说法.

撇开维护多个样式表与一个样式表的论点(尽管这本身就是一个有效的讨论),有没有人在这里做任何测试来确定使用条件注释给你带来的减速程度,或者能够指出我对任何其他人收集的任何统计数据的方向?

And*_*yle 7

这是不是真的对本身条件注释,它就像条件编译.

IE浏览器会将您的页面视为包含

<link type="text/css" rel="stylesheet" href="ie-specific.css" /> 
Run Code Online (Sandbox Code Playgroud)

(通过一些额外的处理来评估评论条件).

非IE浏览器只会在那里看到评论.

因此唯一可能的性能影响是IE浏览器需要评估条件注释条件(这可以忽略不计),然后将包含另一个CSS文件.当然,其他浏览器只看到通用文件并完全忽略评论.

接下来的问题是服务IE的优点和缺点(比如说)符合5Kb标准的CSS文件,然后是(比方说)2Kb"hacks"文件,让其他人只获得5Kb文件; vs为每个人提供一个带有狡猾的CSS的7Kb文件.根据各种因素,包括网络速度和延迟,文件大小,整体页面上使用的资源数量等,这可能会或可能不会对IE案例中的性能产生显着影响(毫无疑问会更快)对于非IE用户代理).

与所有性能问题一样,您必须在您的环境中分析您的代码以查看其影响 - 但作为一般指导原则,我预计IE的影响可以忽略不计,所有其他浏览器的性能都会有所提高,如模糊的感觉是能够在你的实际文件中编写"适当的"CSS,然后单独修复IE.