2012-09-20 48 views
0

我有一个跨度和一些文字H2元素:利润率左为文本(文本对齐:中心)

<h2><span.../> Some text</h2> 

的文本居中,我需要把跨度在其左侧。我正在使用:

span { 
    margin-left: -60px; 
} 

哪些适用于Firefox和Chrome,但不适用于Internet Explorer 9.我如何使它适用于IE9和IE8?

回答

1

SPAN是一个内联元素。这些不能采用水平边距或填充。您需要制作SPAN display: inline-block

+1

应该注意''inline-block'在IE8中工作[只有当你声明一个doctype时](http://stackoverflow.com/questions/9110646/ie8-display-inline-block-not-working)。 –

+0

谢谢罗迪。 –

+0

内联元素可以有左/右填充,只是没有余量。 – Mark

1

如果文本居中,则可以在范围上使用float: left;。这将始终确保跨度位于h2的最左侧。

如果您只是希望跨度也居中,但在行的开头,则不需要执行任何操作,因为跨度是内联元素。

见我的例子:

http://jsfiddle.net/kkesk/2/

例1个使用浮动:左; 示例2使用填充。

+0

在第二个示例中,文本不居中。所有元素都被集中。 –

+0

@JhonnyEverson这两个例子都是以文字为中心的。我只是在span上添加了填充以证明可以在内联元素上填充内容。 – Mark