【发布时间】:2011-11-02 12:05:47
【问题描述】:
我想知道是将所有 CSS 过滤器放在单独的 IE 样式表中,这意味着额外的 HTTP 请求,还是将它们放在一个大样式表中。即使过滤器被非 IE 浏览器忽略,我想它们仍然必须至少被识别。这有明显的开销吗?
【问题讨论】:
标签: css internet-explorer filter
我想知道是将所有 CSS 过滤器放在单独的 IE 样式表中,这意味着额外的 HTTP 请求,还是将它们放在一个大样式表中。即使过滤器被非 IE 浏览器忽略,我想它们仍然必须至少被识别。这有明显的开销吗?
【问题讨论】:
标签: css internet-explorer filter
据我所知,没有。因为过滤器在任何其他浏览器中什么都不做,唯一的性能损失几乎是在加载 CSS 行并找出它什么都不做所花费的时间量上。没有理由担心它。
如果您真的很在意,可以将过滤器放在单独的 IE 特定 CSS 文件中,并将 <link> 元素包装在条件 IE 语句中。
【讨论】:
我会使用包含 IE 特定样式表的注释样式。它们甚至不会为非 IE 浏览器加载,并且加载所有字符的关联可能是这里最好的保存方法。对于特定于版本的样式表,我不会担心额外的一两个 http 调用,但与往常一样,这将取决于您的实际站点结构和内容,例如样式表大小。
例如
IE 7 或更高版本:
<!--[if gt IE 6]>
<link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->
或
仅限 IE 6:
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->
【讨论】: