【问题标题】:Is there a faster way to give ":before" and ":after" selector support in IE7?有没有更快的方法在 IE7 中支持 ":before" 和 ":after" 选择器?
【发布时间】:2011-09-28 00:13:52
【问题描述】:

我的设计目前需要很多 :before:after 选择器。 IE7 不支持这些选择器,所以,经过一番挖掘,我现在使用IE7.js(IE8 版本)。

虽然它确实有效,但有一个明显的延迟(大约 15-20 秒)。

谁能推荐一个更快的替代方案,以便我可以在 IE7 中使用 :before:after psudo-element 选择器?

【问题讨论】:

  • 它们是伪元素,不是伪类。
  • 确实不应该有 15-20 秒 的延迟。你有在线测试页面吗?
  • @mnicky 这就是我目前正在使用的。我想找到一个替代方案,因为它会导致很多滞后。
  • 如果你有 zillions:before:after,问题的原因可能是 IE7 的 JavaScript 引擎缓慢 - 如果是这种情况,我认为 你不走运 - IE7.js 可能和你想得到的一样高效。您可以尝试在JS Bin 上重现问题吗?这样我们就可以尝试发现是否有任何可以改进的地方。

标签: css internet-explorer-7 css-selectors


【解决方案1】:

我在 css 中使用这个 CSS hack:

.button {
 *zoom: expression( 
      this.runtimeStyle.zoom="1",
      this.insertBefore( document.createElement("div"), this.childNodes[0] ).className="before",
      this.appendChild( document.createElement("div") ).className="after"
     );

}

...稍后简单地说:

.button:before, 
.button .before{
    ...
}

【讨论】:

    【解决方案2】:

    来自cmets:

    如果您有 无数:before:after,问题的原因可能 成为 IE7 的慢 JavaScript 引擎 - 如果是这种情况,我认为你是 不走运 - IE7.js 可能是 尽可能高效。

    和:

    @thirtydot 我有一页只有一个 :before 和 :after 就是这样 大约 7-9 秒,所以我认为你是 正确的关于它的数量 我正在使用的选择器。

    IE7 :(

    【讨论】:

      猜你喜欢
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      相关资源
      最近更新 更多