首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >css3pie是如何工作的?

css3pie是如何工作的?
EN

Stack Overflow用户
提问于 2010-10-23 02:57:03
回答 2查看 1.2K关注 0票数 22

css3pie在幕后发生了什么,使得IE可以使用css3特性?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-23 23:14:43

CSS3Pie website有很多细节,但我将尝试解释一下。

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

为此,它使用带有.HTC扩展名的文件,这基本上是带有自定义XML码的轻量级包装器的Javascript代码。由于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之前,已经有一个提供圆角的available from HTMlRemix.com,它的工作方式与CSS3Pie非常相似。CSS3Pie是一个更好的软件,但是您可能会发现HTMLRemix代码更容易理解。

还有其他一些你可能想要研究的:

  • Whatever:Hover修复了tags.
  • IE PNG Fix,使CSS :hover功能适用于所有HTML元素,而不仅仅是PNG。transparency.

使旧版本的IE能够更好地使用IE6处理<a>图形

希望这能回答你的问题。

票数 30
EN

Stack Overflow用户

发布于 2010-10-23 22:26:23

它只是使用JavaScript来模拟缺失的行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4000034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档