2010-12-01 51 views
1

爲什麼? 我確定了寬度,所以它應該和內容一樣大。Div取整個水平空間

#swfbox { 
padding: 10px 10px 10px 10px; 
margin: 50px auto 0px; 
background: #310600; 
border: 3px solid #4b0900; 
} 

我有它爲中心,並在其中加載SWF文件,因此它的工作,我有它的寬度設置爲SWF文件的寬度,這是不好的,因爲我的每一個文件都有不同的寬度。

回答

8

<div>元素是塊顯示元素,這意味着它們默認爲100%寬度,除非另有說明。

如果你想要的元素,擴大基於它的內容,你可能想嘗試設置在<div>inline(或只使用一個span,因爲它本質上是一個內聯格)的display財產。

編輯:

我猜內嵌沒有工作,我很期待的樣子,所以我今天學到了一些東西。你想要做的就是設置display: inline-block,但那是它自帶的一套問題。

首先,根據Quirks Mode page for the display property,IE6和IE7只支持inline-block與自然display: inline元素,這意味着你需要使用<span>元素,而不是<div>元素。

其次,inline-block有它自己的一套怪癖,你應該在使用它之前仔細閱讀,以防止被進一步的「陷阱」感到驚訝。 This pageinline-block上寫得相當不錯。

+0

那麼如何將其更改爲與內容中的內容一樣寬? – Plaski 2010-12-01 21:14:40

0

檢查了這一點的解決方案:http://www.tightcss.com/centering/center_variable_width.htm 浮在div該SWF文件駐留在(浮點縮小以適合內容)

相對地定位外浮子 左:50%,使得左邊緣在頁面的中間位於 。然後 相對位置內部浮動 左:-50%將其精確移動 外部div的寬度的1/2到左邊的 ,以便它居中。

該鏈接給出了完整的解釋和示例。