2010-12-01 38 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到左边的 ,以便它居中。

该链接给出了完整的解释和示例。