居中和对齐HTML文本的行

问题描述:

我有一个可变长度的文本行中的div。现在,我有这样的事情居中和对齐HTML文本的行

<div id="container" style="width: 500px"> 
    <div>Text Line 1</div> 
    <div>Text Line 2 of different length</div> 
    <div>Text Line 3</div> 
</div> 

我可以text-align: center容器,但我想每行相对于它是真正为中心的线路最长的调整左边,而不是各行自身为中心。

有没有一种简单的CSS方式来做到这一点...或者我应该使用表来解决这个问题吗?

这应该工作:

<div id="container" style="width: 500px; text-align:center;"> 
    <div style="text-align:left;"> 
    <div>Text Line 1</div> 
    <div>Text Line 2 of different length</div> 
    <div>Text Line 3</div> 
    </div> 
</div> 

使用

<span> </span> 

和CSS

width:500px; 
text-align:center; 
position:absolute; 

你设置PIC或颜色div的背景是什么?
或更好我说是你的div宽度重要吗?
如果不是这也许解决方案可以解决你的问题:

<div id="someID" style="width: auto; text-align:left;"> 
<div>line 1</div> 
<div>line 2 is more longer</div> 
<div>line 3</div> 
</div> 

你的HTML:

<div id="container"> 
    <span> 
    <div>Text Line 1</div> 
    <div>Text Line 2 of different length</div> 
    <div>Text Line 3</div> 
    </span> 
</div> 

你的CSS:

#container { 
    width: 500px; 
    background: #eee; 
    text-align: center; 
    padding: 10px 0; 
} 

#container span { 
    display: inline-block; 
    background-color: #ccc; 
} 

#container span div { 
    text-align: left; 
} 
​ 

演示:http://jsfiddle.net/G6ABA/

+0

注:DIV内部跨度不是有效的HTML,但使用div也是http: //jsfiddle.net/G6ABA/1/ – x539 2012-03-13 21:54:11

+0

目的是让它在IE6中工作。如果你不需要IE6的支持,那么是的,所有的手段都使用div而不是span。 – Duopixel 2012-03-13 22:10:32