CSS-如何在div中居中放置div?

CSS-如何在div中居中放置div?,css,Css,我有一个800像素宽的外部div。我有一个内部div,可以是200到600px宽 如果我将内部div设置为具有特定的宽度,我知道如何将内部div居中于外部div的中心,但是由于它是可变宽度,如何将其居中 有没有办法将div设置为其内部元素的宽度,而不是将其展开以填充其包含的div?浮动、显示:内联块或绝对定位将收缩包装一个div。其中,显示:内联块最容易使用简单的文本“对齐:中心”居中。如果你必须支持蹩脚的浏览器(我相信你会支持的) 假设您仍然不支持FF2,那么实际上您可以消除大多数黑客行为,并

我有一个800像素宽的外部div。我有一个内部div,可以是200到600px宽

如果我将内部div设置为具有特定的宽度,我知道如何将内部div居中于外部div的中心,但是由于它是可变宽度,如何将其居中


有没有办法将div设置为其内部元素的宽度,而不是将其展开以填充其包含的div?

浮动、显示:内联块或绝对定位将收缩包装一个div。其中,显示:内联块最容易使用简单的文本“对齐:中心”居中。如果你必须支持蹩脚的浏览器(我相信你会支持的)


假设您仍然不支持FF2,那么实际上您可以消除大多数黑客行为,并通过将内部div改为span来支持旧的IE。显示:内联块适用于旧IE,只要该元素最初是内联元素。

浮动、显示:内联块或绝对定位将收缩换行一个div。其中,显示:内联块最容易使用简单的文本对齐:居中居中。如果你必须支持蹩脚的浏览器(我相信你会支持的)


假设您仍然不支持FF2,那么实际上您可以消除大多数黑客行为,并通过将内部div改为span来支持旧的IE。显示:只要元素最初是内联元素,内联块就可以在旧IE上工作。

您可以在需要重新对齐innerDIV时动态设置innerDIV的X和Y坐标。 例如:

innerDIV.style.left=(outerDIV.style.width innerDIV.style.width)/2

innerDIV.style.top=(outerDIV.style.height innerDIV.style.height)/2


当innerDIV为时,样式设置为
位置:相对

您可以在需要重新对齐innerDIV时动态设置innerDIV的X和Y坐标。 例如:

innerDIV.style.left=(outerDIV.style.width innerDIV.style.width)/2

innerDIV.style.top=(outerDIV.style.height innerDIV.style.height)/2


当innerDIV是style时,设置为
位置:relative

您可以创建三个具有适当边距的css类,这样taht div将位于中间,并根据内部div的宽度应用这些类。

您可以创建三个具有适当边距的css类,以便taht div位于中间,并根据内部分区的宽度。

表格仇恨现在非常流行,但我发现使用单元格设置为百分比宽度的表格可以很好地解决这个问题(而且是跨浏览器的):


中心内容

现在表格仇恨非常流行,但我发现使用单元格设置为百分比宽度的表格可以很好地解决这个问题(而且是跨浏览器的):


中心内容

您必须在内部
div
上设置一个宽度,否则它将隐含地占用外部
div
的整个宽度。如果你指的是“浮动”中的“动态宽度”,那么将其居中将非常困难

因此,假设您在
div
上设置了宽度,只需添加以下样式:

.centeredDiv {
    width: 400px;
    margin: 0 auto;  // auto left/right margin will center it
}

您必须在内部
div
上设置一个宽度,否则它将隐含地占用外部
div
的整个宽度。如果你指的是“浮动”中的“动态宽度”,那么将其居中将非常困难

因此,假设您在
div
上设置了宽度,只需添加以下样式:

.centeredDiv {
    width: 400px;
    margin: 0 auto;  // auto left/right margin will center it
}