【问题标题】:how to apply css3 to pseudo-elements in IE8如何将css3应用于IE8中的伪元素
【发布时间】:2012-08-01 08:51:20
【问题描述】:

我目前正在一个项目中使用这两个库:ie7-jsCSS3 PIE

不幸的是,我无法在 IE7 和 IE8 中将 CSS3(渐变或边框半径)应用于 :before:after 等伪元素。

有人知道我该如何做到这一点吗?

【问题讨论】:

  • 由于某种原因它在 IE7 中有效,但在 ie8 中无效
  • 无论如何都不是最好的办法,但您可以强制 IE8 以 IE7 运行。不建议这样做,但如果您遇到困难,它可能会帮助您。
  • 另一个注意事项:IE8 将样式应用于整个元素而不是 :before 伪元素,即:h2:before { ... } 使 h2 看起来像在 h2:before... 中定义的那样奇怪!

标签: css internet-explorer-8 internet-explorer-7 pseudo-element


【解决方案1】:

IE7 不支持 :before:after 生成的内容,因此内容本身是使用 VML DOM 和 HTML DOM 的组合来模拟的,然后使用 DHTML 过滤器和过渡在这些元素上应用 CSS3 模拟使用 ie7.js 和 css3pie 的场景。 IE8 确实支持:before:after 生成的内容,但具有讽刺意味的是,这破坏了CSS3 仿真层,因为generated content has no DOM of its own 并没有shadow DOM。使用条件 cmets 为 IE8 创建 :before:after 内容的副本,定位它们以匹配它们在 IE7 中的位置,然后对它们应用 css3pie 效果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2014-10-25
    • 2012-05-16
    • 2012-03-11
    相关资源
    最近更新 更多