2010-07-30 87 views
0

我正在嘗試製作一種進度條,裏面的文本位於左側,中間位置,右側是「有時間位置」。對齊DIV中的3個文本(左,中,右)

我明白了(幾乎)正在工作,到目前爲止我唯一的問題是,有時中間的文本會變得太長,所以它會跨越div。這意味着它包裹了,並採取了2行,但主要股息仍然存在。

這是代碼,也許有人可以幫我解決這個問題,提高了一點:

<div class="progress progressSize"> 
    <div style="width: 50%;" class="progressFill"></div> 
    <div class="progressText"> 
     <span class="leftText">Left Text</span> 
     <span class="centerText">Center text that gets too long</span> 
     <span class="rightText">Right Text</span> 
    </div> 
</div> 

而對於CSS:

.progress { 
    border: 1px solid #004b91; 
    background-color: #FFFFFF; 
    position: relative; 
} 

.progressSize { 
    width: 500px; 
    height: 20px; 
} 

.progressFill { 
    background-color: #EAF3FE; 
    height: 100%; 
    position: absolute; 
} 

.progressText { 
    padding-left: 10px; 
    padding-right: 10px; 
    padding-top: 2px; 
    position: relative; 
} 

.leftText { 
    float: left; 
    width: 33%; 
} 

.centerText { 
    float: left; 
    text-align: center; 
    width: 33%; 
} 

.rightText { 
    float: right; 
    text-align: right; 
} 

所以我的問題是與centerText。中間的文字太大,所以它橫跨兩行,但不足以填滿整個酒吧。因爲我保留了33%,左邊,中間和右邊的文字,中間的文字放置在中間,但它有一個「邊界」。

我不知道如何解決這個問題。任何人都可以幫我嗎?

謝謝

魯迪

回答

0

你procressSize CSS應該是:

.progressSize { 
    width: 500px; 
    min-height:20px; 
    height: auto; 
    overflow:auto; 
} 

這將增加的進展div的高度包含文本

編輯,但如果你想在div高度保持不變,沒有寬度:33%爲centerText div,並保留progressSize CSS我提及的方式

.progressSize { 
    width: 500px; 
    min-height:20px; 
    height: auto; 
    overflow:auto; 
} 

.centerText { 
    float: left; 
    text-align: center; 
    min-width: 33%; // initially, width:33% 
    height:auto; 
} 

最小寬度只是一個最小寬度,因此div不會收縮到33%以下(但它在IE6中不起作用)

+0

謝謝你naikus。這個解決方案使整個div更大,這稍微好一些。然而,我想要做的只是讓它們都融入酒吧內。中心文本還剩下一些空間,只有33%強制它跨越多行。 有沒有辦法讓我保留我的左邊的文字,中間和正確的文字,而不必使用寬度:請問33%? – Rudy 2010-07-30 19:14:57

+0

基本上,這個點的高度和寬度足夠大,以便3個文本適合,但33%強制它跨越2行爲中心文本。 如果我擺脫了寬度:33%,我傾向於無法在左邊,中間和右邊有文字。請問有任何解決方法嗎? – Rudy 2010-07-30 19:17:02

+0

在這種情況下,刪除.centerText的「寬度」屬性 – naikus 2010-07-30 19:32:18

0

也許overflow:hidden結合height:1em將幫助?這將裁剪太長的文本。

.centerText { 
    float: left; 
    text-align: center; 
    width: 33%; 
    overflow:hidden; 
    height: 1em; 
} 
+0

這確實會裁剪它,但它不是我會尋找的解決方案。我只想拿整個div,只要有它的位置。謝謝。 – Rudy 2010-07-30 19:09:03