2010-06-28 76 views
1

我有以下HTML:如何使div的寬度與其同胞一樣寬但不更寬?

<div class="wrapper"> 
    <div class="label"> 
    foor bar baz 
    </div> 
    <img src="..."> 
</div> 

是的,我知道有類「標籤」該div應該是一個標籤。

一個簡單的問題是:我如何確保標籤始終與圖片完全一樣寬且從不更寬? 圖片的寬度和標籤的內容是未知的。當標籤的內容長於圖像的寬度時,它應該打破下一行。

現在,我對包裝器有「顯示:內聯塊」,當文本適合標籤時,一切看起來都很好。當文字較長時,不會中斷,但會使標籤比圖像長。

我想這有一個簡單的解決方案,但我只是沒有看到它。 任何幫助表示讚賞!

+1

它應該只是一個標籤元素,如果它標籤表單控件。 – Joey 2010-06-28 21:09:43

+0

我認爲這不是一個正確的答案,所以我把它放在這裏:我認爲以百分比爲單位的任何寬度都會繼承父div寬度,所以如果您將標籤寬度設置爲100%,它將與父div一樣寬。這雖然有問題,所以使用99%。 – 2010-06-28 21:14:45

+0

@Oscar這隻有在父div(包裝器)具有指定寬度時纔有效。如果它沒有,並且我將標籤div的寬度設置爲100%,則它保持相同的尺寸,就好像我沒有設置寬度一樣。 (將寬度設置爲90%使其縮小10%等) – 2010-06-29 09:36:26

回答

2

一個元素不能大於它的父元素,所以如果你把img標籤放在div裏面,它永遠不會變大。

<div class="wrapper"> 
    <div class="label"> 
    foor bar baz 
    <img src="..."> 
    </div> 
</div> 
+0

是的,當然這是正確的。我將完全踢出標籤div,並將所有內容都保存在包裝中。謝謝! – 2010-06-29 09:30:14

1

給這兩個元素width:50%;(或寬度:49%,只是爲了安全)屬性,這應該做的伎倆。

+0

我不太明白。你的意思是哪個「兩個」元素?正如我所說,圖片的寬度是未知的,我不想改變它。 – 2010-06-29 09:31:08

+0

我想OP是假設你想把頂級div分爲左右兩部分,而不是上下部分。 – ijw 2010-11-29 14:12:42

+2

(並且看到'49%更安全'會讓我想傷害編寫IE瀏覽器的人,並與一代web設計人員的頭腦混淆。) – ijw 2010-11-29 14:13:25

相關問題