css - 带有伪元素的 IE8 Bug

标签 css internet-explorer-8 pseudo-element css-position

关于 CSS :before:after 伪元素,我发现了 IE8 的一个奇怪问题。当您将一个伪元素位置设置为绝对位置而另一个设置为相对位置时,就会出现此问题;请参阅以下示例:

<style type="text/css">
  div:before { content: ""; position: relative; }
  div:after { content: ""; position: absolute; }
</style>
<div>stuff</div>

IE8 崩溃。字面上地。没有错误,没有任何帮助 - 只是可怕的“Internet Explorer 已停止工作”和 Windows 7 尝试重新启动它。需要说明的是,错误发生在切换到IE8浏览器和IE9的渲染模式时。当我在 IETester 的 IE8 页面中加载示例时,没有发生错误。

我会尽快在实际的 IE8 中对此进行测试,但我的问题是:为什么会发生这种情况?这是IE8的错误吗?也许是某种 position 错误的副作用? IE8 不是应该渲染伪元素吗?

最佳答案

是的,这很奇怪。如果你在 div:before

上设置 float:left;,我就能让它工作

关于css - 带有伪元素的 IE8 Bug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9366276/

相关文章:

css - 删除网格单元格中的隐式边距间距

html - 在图片下定位 flexbox 中的文本

css - 表格第一列跳出overflow-y :auto;

html - 如何在 quirksmode 中自动将一个 div 在 IE8 中居中?

html - 绝对 div 的填充在 Internet Explorer 7 中有不同的解释

css - 如何使用 CSS 为图标制作动画?

css - 我有一个图形在 IE 8 和 IE 9 中的自定义 Wordpress 主题中没有正确排列

css - 绝对 :after displaying differently in firefox and webkit

javascript - 使用 jQuery 或 Javascript 动态设置伪元素样式

asp.net - 带有 :before and :after [CSS3] 的框阴影