html - 即使其他浏览器不需要,CSS3PIE .htc 文件也会加载吗?

标签 html internet-explorer css css3pie

我正在使用 CSS3Pie在使用无效 CSS 属性的 IE 中制作圆 Angular

behavior: url(/PIE.htc);

如果我在我的主 CSS 中保留这个声明,其他浏览器是否会加载这个 .htc 文件,即使他们不需要这个文件,或者只有 IE 会加载这个文件?

保持行为有什么好处:url(/PIE.htc);在性能方面是单独的 IE 条件样式表吗?

<!--[if lt IE 9]>
        <link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->

整个代码是这样的

border: 1px solid #696;
padding: 60px 0;
text-align: center; width: 200px;
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
background: #EEFF99;
behavior: url(/PIE.htc);

最佳答案

规范说browsers are to completely ignore declarations whose property names they don't recognize .这意味着,理论上,由于 behavior 是 IE 独有的属性,因此 url() 不应被解析,并且该文件不会被 IE 以外的浏览器下载。

我在 IE9 和 Firefox 4 上进行了测试,加载 the CSS3 PIE tabs demo ,这是 F12 开发人员工具和 Firebug 分别在其网络选项卡中显示的内容。请注意,Firebug 报告没有尝试请求 /PIE.htc 文件。这意味着 Firefox 没有加载该文件,即使它已在您的样式表中声明,因为它无法识别 behavior 属性。

IE9(F12 开发者工具)

Firefox 4( Firebug )

我将该属性移动到带有条件注释的仅限 IE 的样式表的唯一原因是我不想用非标准属性和/或 hack 污染我的主样式表。

关于html - 即使其他浏览器不需要,CSS3PIE .htc 文件也会加载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5609651/

相关文章:

javascript - 生成只有一列的表

jquery - 使用正则表达式验证货币时 IE 8 崩溃

html - 负 margin 打破 float

html - IE 11 中整个 Div 周围的 CSS 框阴影

html - 如何禁用 Bootstrap 4 中的响应行为?

html - 在 Bootstrap 网格中将矩形缩略图设为正方形以获得大屏幕尺寸

javascript - Array 的 console.log 在 IE 10,11 中返回 function item() { [native code] }

css - 如果一个 div 有 "clear:right",没有东西应该漂浮在它的右边,不是吗?

javascript - 如果 2 个元素可单击,如何强制浏览器仅处理顶部链接?

javascript - 在 IE (Internet Explorer) 中从非 HTML5 窗口打开 HTML5 窗口