为啥 CSS3 PIE 和其他类似的脚本不是到处都在使用?

Posted

技术标签:

【中文标题】为啥 CSS3 PIE 和其他类似的脚本不是到处都在使用?【英文标题】:Why are CSS3 PIE and other similar scripts not in use everywhere?为什么 CSS3 PIE 和其他类似的脚本不是到处都在使用? 【发布时间】:2011-12-01 06:25:28 【问题描述】:

这个问题已经在htc files: Why not to use them? 提出过,但答案并没有真正回答任何问题。

问题是,为什么是CSS3 PIE 没有在许多网站上使用?我希望较小的人不知道它,但引起我注意的是 Twitter,它不使用它。

是不是因为它不标准?还是会导致网站明显变慢?

感谢您的任何回复。

【问题讨论】:

不是css3pie IE吗?这不正是我们多年来努力摆脱的事情吗? @Johan 是的,它只是 IE,但它是一个 polyfill,其唯一目的是让 IE 的行为更像其他浏览器。所以实际上它允许开发人员摆脱编写特定于浏览器的代码。 :) 【参考方案1】:

我不能代表所有人,但我的感觉是您看不到大型网站上使用此类工具,因为:

1) 它们确实会产生一定的性能成本。特别是 CSS3 PIE 在使用大约两打元素(根据我的经验,YMMV)后开始产生明显的渲染延迟。因此,它在大页面上的使用可能会导致比下载图像资产节省的时间更大的渲染延迟。

2) 他们开始显示复杂 DOM 更改的错误。大量动画、显示/隐藏等有时会导致 PIE 不同步。

3) 与 #2 相关,增加的抽象层(及其相关的错误)可能会损害具有复杂代码库的大型开发团队。如果您开始花费更多时间来调试抽象,而不是简单地创建圆角图像,那么该工具就会妨碍您。

我在这里专门谈论 CSS3 PIE,因为它对我来说很亲近(我是它的创造者),但类似的警告也适用于 Selectivizr 等其他 polyfill。这适用于任何工具:您始终必须根据您的特定需求评估利弊。例如,出于上述原因,我不会将 PIE 推荐用于像 Twitter 这样的高流量、性能关键、高度交互的网站,但它确实适用于更简单、更静态的设计。

...另一个想法是,在许多情况下,简单地让 IE 降级为方角等是完全有效的。如果可能的话,考虑到您的特定情况,这始终是 IMO 的首选方法。因此,在这种情况下,这不是由于对工具的任何评估,而只是决定首先根本不需要该工具提供的内容。 :)

【讨论】:

感谢您的回答创作者。在我开始将它与动画一起使用之前,它一直运行良好。 嗯,您将在 IE 的 javascript VM 上运行的东西与在本机运行的东西进行比较。这是意料之中的:D

以上是关于为啥 CSS3 PIE 和其他类似的脚本不是到处都在使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅为 ie7 和 8 加载 css3 pie?但不是为了 9

CSS3 PIE 不能在 IE 中缩放背景图像

是否会为其他浏览器加载 CSS3PIE .htc 文件,即使他们不需要?

CSS3 PIE 在 IE8 中无法正常工作

css3 pie 有多可靠[关闭]

预测在高负载项目上安装 LESS、CSS3PIE 的后果