2013-01-22 79 views
1

我使用pie.htc来允许我在旧版本的IE中使用我的网站上的半径拐角和阴影。CSS Pie在IE8中使页面加载非常缓慢

麻烦的是它似乎让IE运行非常缓慢。

这里是我的代码的例子...任何人都可以看到我可以改善这个吗?

div.myDiv { 
    -webkit-border-radius: 5px;  
    -moz-border-radius: 5px;  
    border-radius: 5px; 
    -webkit-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.4); 
    box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.4); 
    behavior: url(/PIE.htc); 
} 
+2

我实际上建议你不要使用CSS3 Pie,最好是省略圆角或者使用图片。我对CSS3饼的使用经验是,它总是需要一段时间才能加载,或者有时需要刷新才能正常工作。只是我2美分。 –

+1

您不需要任何这些供应商前缀 – Evgeny

回答

0

尝试一下本作的改变异步与DOM一起

div.myDiv 
{ 
    border-radius: 5px; 
    -ms-border-radius: 5px; 
    -webkit-border-radius: 5px;  
    -moz-border-radius: 5px;  
    box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.4); 
    -ms-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.4);  
    -webkit-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.4); 
    -moz-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.4); 
    behavior: url(/PIE.htc); 
    position:relative; 
} 

PIE.htc文件加载时,它已准备就绪。设置position:relative当然可以给你一个优势。我在代码片段前缀-ms-,这有助于检测IE。它为我工作。我使用了最新的PIE.htc文件。

2

我用CSS3Pie了很多的项目,因为我被迫使网站恰好看起来很像这当然是在技术人员的废话,而不是销售的家伙。

实际上,使用任何种类的.htc文件都非常缓慢,因为饼图需要解析这些规则并根据VML-Elements创建模拟相应的css3行为。如果你有更大的项目,你会比其他别无选择:

  • 完全省略CSS3的功能为IE8(和说服salesguy)< - 我最喜爱的选项
  • 省略馅饼和使用IE过滤尽可能
  • 使用
  • 用较少的支持,但处理速度更快更轻量级的框架,因为PIE是(因为它有如此高超的支持)十分臃肿,因此相当缓慢

使用像剃须刀谏位置并没有真正解决速度问题和前缀-ms可能会给你在IE9尝试使用两个,css3pie和前缀css3属性严重的麻烦。