如果你想與收縮到適合寬度爲內容#centre
元素,你可以使用以下:
<div id="container">
<div id="left">Left</div>
<div id="centre">Centred</div>
</div>
和下面的CSS:
#container {
width: 175px;
text-align: center;
position: relative;
border: 1px solid black;
padding: 5px;
margin: 5px;
}
#left {
position: absolute;
border: 1px solid black;
padding: 5px;
margin: 5px;
}
#centre {
display: inline-block;
border: 1px solid black;
padding: 5px;
margin: 5px;
}
如果你想要得到的冷縮爲了適應寬度爲#centre
,您需要浮動元素,使用絕對定位或聲明嵌入塊顯示類型。由於您不想爲#centre
指定寬度,因此使用浮點或絕對定位不允許您將內容居中。但是,如果您在父項#container
上指定display: inline-block
並使用text-align: center
,則您將獲得元素的中心位置,併爲邊框,填充等設置樣式控制。
但是,爲此,您必須對#left
元素使用絕對定位。如果使用浮點數,則#centre
的內容將環繞左側元素並更改居中。
在#container
上設置position: relative
,否則#element
將相對於頁面的根(或一些其他非靜態定位)元素進行定位。
小提琴:http://jsfiddle.net/audetwebdesign/hTFBa/
腳註
在你演示的例子,你有一個內容一個字的文本標籤。如果您有多詞短語,則需要約束左元素的寬度或在中心元素上指定一些邊距以防止文本重疊。
它看起來像你希望'#centre'元素具有縮小到適合的寬度。如果不是一個詞,你有一個短語或一個圖像會發生什麼?任何其他限制? –
http:// jsfiddle。net/V9bNZ/2/ – DiederikEEn
@MarcAudet,我不是專門尋找縮小到適合的;我不介意重疊,但我認爲如果中心元素移動而不是重疊會更好。關於短語或圖片,我更喜歡通用解決方案,但我仍然對特定於內容類型的解決方案感興趣。 – Sam