:之前的伪元素不会居中于IE8(Internet Explorer 8)

时间:2013-01-11 10:37:22

标签: html css internet-explorer-8 alignment

我创建了一个元素h4元素,:before伪元素插入图标字体(在 IcoMoon 生成)。 h4元素设置为text-align: center;,图标设置为display: block;,以便它们也居中。完美!

问题出在IE8中。 h4元素居中,但使用:before插入的图标是左对齐的。我试过给before元素一个text-align: center属性,我也试过了:

display: block;
width: 80px;
margin: 0 auto;

现在我不知道下一步该尝试什么。以下是图标的代码:

[class^="ico-fonts-"]:before, 
[class*=" ico-fonts-"]:before {
    font-family: @icoFont;
    font-style: normal;
    speak: none;
    font-weight: normal;
    line-height: 1;
}

任何建议将不胜感激! : - )

2 个答案:

答案 0 :(得分:2)

所以我找到了自己问题的答案,就是这样:

Internet Explorer 8 将以下内容生成的内容视为之前和之后:<元素之外

但是,所有其他浏览器( IE7 除外)会将:before和:after伪元素生成的内容视为元素的一部分

所以我只需要写:

.ico-fonts:before { text-align: center~"\9"; }

答案 1 :(得分:0)

您是否尝试过添加缩放:1?修复了很多IE8 CSS的怪癖。