css3pie如何工作?

Kyl*_*yle 22 plugins internet-explorer css3 css3pie

使用css3pie幕后发生了什么让IE可以使用css3功能?

Spu*_*ley 30

CSS3Pie网站有很多的细节,但我会试着解释了一下.

Internet Explorer支持名为CSS Behaviors的功能.这是一个特定于IE的功能,允许您指定在触发CSS事件时运行的Javascript功能.

为此,它使用带.HTC扩展名的文件,这基本上是Javascript代码,带有自定义XML代码的轻量级包装.由于Behaviors是一个特定于IE的功能,因此它并没有被广泛使用,除了少数与CSS3Pie相似的黑客外,它们旨在解决浏览器的一些缺点.

在CSS3Pie的情况下,它实现了IE中缺少的几个功能.这些是边界半径,框阴影和线性渐变.

所有这些可以在IE(甚至是旧版本)中完成,但是以非标准方式完成.例如,IE支持称为VML的矢量图形语言(同样,这是IE特定的).VML允许您使用Javascript绘制图形,它包括创建带圆角,渐变填充和阴影的框的功能.

CSS3Pie结合了这些IE特有的功能.作为CSS行为,它在使用特定CSS代码时触发javascript代码.这个javascript在包含VML的页面中创建了额外的元素,然后对其进行样式设置以匹配CSS类所适用的元素.然后修改main元素以删除大多数相关样式,以便可以看到它后面的VML元素的样式.

在一天结束时,它是一个黑客.它实际上并没有为IE添加新功能; 它只是使一些现有的IE功能以稍微标准的方式工作.

如果你想深入挖掘,CSS3Pie是开源的,所以你可以研究它.但是,这是非常复杂的代码,因此您可能会发现更容易查看其他一些(更简单的)HTC文件.

在CSS3Pie之前,已经有一个可以从HTMlRemix.com获得,它提供了圆角,并且以与CSS3Pie非常相似的方式工作.CSS3Pie是一个更好的软件,但您可能会发现HTMLRemix代码更容易理解.

还有一些您可能想要研究的其他内容:

  • 无论如何:Hover修复了IE6,以便CSS:悬停功能适用于所有HTML元素而不仅仅是<a>标签.

  • IE PNG Fix使旧版本的IE在具有透明度的PNG图形中更好地工作.

希望能回答你的问题.