Jit*_*yas 4 html css internet-explorer css3 css3pie
我正在使用CSS3Pie在IE中制作使用无效CSS属性的圆角
behavior: url(/PIE.htc);
Run Code Online (Sandbox Code Playgroud)
如果我在我的主CSS中保留这个声明,其他浏览器会加载这个.htc文件,即使他们不需要这个或只有IE会加载这个文件?
behavior: url(/PIE.htc);在性能方面,保持单独的IE条件样式表是否有任何好处?
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
整个代码是这样的
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);
Run Code Online (Sandbox Code Playgroud)
Bol*_*ock 11
规范说浏览器要完全忽略其属性名称无法识别的声明.理论上,这意味着既然behavior是IE-only属性,url()则不应该解析,并且不能通过IE以外的浏览器下载文件.
我在IE9和Firefox 4上运行了测试,加载了CSS3 PIE选项卡演示,这里分别是F12 Developer Tools和Firebug在他们的网络选项卡中显示的内容.请注意,Firebug报告没有尝试请求该/PIE.htc文件.这意味着Firefox没有加载文件,即使它已在样式表中声明,因为它无法识别该behavior属性.
IE9(F12开发人员工具)

Firefox 4(Firebug)

我将该属性移动到带有条件注释的仅IE样式表的唯一原因是,如果我不想使用非标准属性和/或黑客污染我的主样式表.