使用CSS进行文本居中在IE中不起作用

时间:2020-03-05 18:54:58  来源:igfitidea点击:

我在获取表内文本以使其在IE中居中时遇到问题。

在Firefox 2、3和Safari中,一切正常,但由于某些原因,文本不会出现在IE 6或者7中。

我正在使用:

h2 {
  font: 300 12px "Helvetica", serif; 
  text-align: center; 
  text-transform: uppercase;
}

我还尝试添加margin-left:auto;margin-right:autoposition:relative;

无济于事。

解决方案

回答

表格单元格需要text-align:center。

回答

'text-align:center'应该足够了,因为我们将文本居中放置在块元素(h2)中,调整边距将更改块的位置,而不是文本的位置。

我想知道是否只是IE在我们那里的font声明中有一个假吐?

回答

在围绕h2的div / td中使用text-align:center。

<table style = "width:400px;border:solid 1px;">
    <tr>
        <td style = "text-align:center;"><h2>hi</h2></td>
    </tr>
</table>

编辑:哇,stackoverflow的社区非常快!

回答

CSS文本对齐属性应在父元素上声明,而不是在我们试图居中的元素上声明。 IE使用text-align:center属性将文本居中。 Firefox使用margin:0 auto,并且必须在我们要居中的元素上声明它。

<div style="text-align: center">
    <h2 style="margin: 0 auto">Some text</h2>
</div>

回答

可能是拼写错误,但我们在这里缺少分号:

margin-left:auto; margin-right:auto position:relative;

应该:

margin-left:auto; margin-right:auto; position:relative;

如果这样不起作用,请确保我们尝试将文本居中的元素具有一定的宽度。尝试将宽度设置为100%,看看是否有任何变化。