CSS定位 - 浮动左侧和居中问题

时间:2010-01-27 10:44:36

标签: html css

我确信对于那些经常使用HTML和CSS的人来说,这是一个基本问题。

我有两段文字,都需要出现在SAME线上 - 一个需要左对齐,另一个需要居中,无论左对齐块中有多少文本(显然是左对齐文本的长度不会延伸到中间标记处。)

为了使这更容易理解和测试,我已经包含了一个样本。在我的样本中,我有我需要的东西,但是在2行而不是同一行。

如果找到解决方案,请重新发布工作样本。

感谢。

<html>
<head>
    <title>Alignment Test</title>
    <style>
        body {background-color: #E6E6E6;}
        #reference {width: 100%;
                    border: solid 1px navy;}
        #half1 {width: 50%;
                text-align: right;
                border-right: dotted 1px navy}
        #container {width: 100%;
                    text-align: center;
                    border: solid 1px navy;}
        #floatLeft {float:left;
                    border: dotted 1px green;
                    background-color: #D0F5A9;}
        #centered {width: 100%;
                      border: dotted 1px red;
                      background-color: #F5F6CE;}
    </style>
</head>
<body>
    <div id="reference">
        <div id="half1">Middle of container -->&nbsp;</div>
        <div id="half2"></div>
    </div>
    <div id="container">
        <div id="centered">This text should be centered
            <div id="floatLeft">This text should be left aligned</div>
        </div>
    </div>
</body>

2 个答案:

答案 0 :(得分:2)

<div style="text-align:center;position:relative">
    Centered
    <div style="position:absolute;left:0;top:0">Left</div>
</div>

答案 1 :(得分:0)

ÿ。 Shoham的解决方案有效。这是另一个,它更优雅地处理包装内容(不允许中心和左侧部分重叠),但这需要更改标记中项目的顺序:

<div style="text-align: center; overflow: auto;">
  <div style="float: left; text-align: left;">left</div>
  centered
</div>

text-align: left可能没有区别,例如,如果没有指定宽度,并且内部没有任何内在宽度,如图像。)