【发布时间】:2012-12-08 13:23:15
【问题描述】:
我有一个尺寸可变的 div,我需要在其容器内动态水平居中。这是当前的结构...
<div class="outer">
<div class="inner">Sample</div>
</div>
...“内部” div 的高度和宽度取决于其内容,它需要在“外部” div 内水平居中(左右两侧的空间相等),它可能有也可能没有固定的尺寸(所以“内部”可能在“外部”div的宽度内,或者它可能会溢出,但总是居中)。以下是我目前拥有的样式...
.outer {
width: 10px;
margin: 0 auto;
position: relative;
}
.inner {
position: absolute;
bottom: 0;
}
...“外部”的属性可以很好地将其居中,但“内部”的属性使其与“外部”div 的左边缘对齐。
我尝试了一些带有负边距和左/右值的“内部”选项,但它们似乎依赖于固定的像素值,而我需要它的尺寸相对于其内容保持可变。
需要注意的是,“内部”div 需要绝对定位,因为即使“外部”的高度为比内部短。
这是一个运行示例:http://jsfiddle.net/bVC3J/
有人对我如何在不使用 JS 的情况下实现这一点有任何想法吗?如果没有 CSS 解决方案,我对 JS 持开放态度,所以欢迎您作为最后的手段提出建议。谢谢。
【问题讨论】:
-
我不认为只用 CSS 就可以完成,但我不是 CSS 专家,这是你的一些 JS jsfiddle.net/bVC3J/1。我会密切关注这个,看看你是否有任何可行的 CSS 解决方案。
-
@Dampsquid 谢谢,这是一个理想的 JS 解决方案。如果 CSS 前面的所有其他方法都失败了,我会继续这样做。不过,仍然坚持寻找可能的非 JS 解决方案。再次感谢!
标签: css center css-position centering