html - 相对于 css 中的另一个元素垂直居中?

标签 html css

我有类似下面的情况:

<div id="container">
  <div id="prev">
    prev
  </div>
  <div id="content">
    some content
  </div>
  <div id="next">
    next
  </div>
</div>

我希望结果看起来像这样:

enter image description here

请注意,prev 和 next 相对于 Content 垂直居中,并且所有内容都在页面上水平居中。

很抱歉,如果之前已经介绍过,但似乎有很多不同的方法可以做类似的事情,我不确定哪种方法适用于这种情况。 CSS3/HTML5 并不是真正的问题,只要它在 Chrome、Safari、Firefox 和 IE(可能不是关键)中工作。

编辑:另外,我不确定这个问题是否真的很清楚,但我不知道内容的大小。它可以是任何东西。

编辑 2:此外,内容通常是图像。

最佳答案

有几种方法可以做到这一点,我的选择是在容器上使用 display: table-cell 和 vertical-align: middle。问题是您不能将绝对位置放在容器上:

#container {
  border: solid #000 1px;
  display: table-cell;
  vertical-align: middle;
  height: 400px;
  width: 400px;
  text-align: center;
}

#container div {
  display: inline-block;
}

#content {
   border: solid #000 1px;
   padding: 10px;
   width: 200px;
}

适用于 IE8+ 和现代浏览器。

http://jsfiddle.net/E97yY/

关于html - 相对于 css 中的另一个元素垂直居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681427/

相关文章:

html - CSS 下拉菜单问题,垂直对齐

html - 内容下方的CSS静态边距底部?

javascript - 页面刷新后查找字段的默认值

html - 如何保持原始图像比例?

html - 将美国 map 变成国家链接

javascript - 结束前减速旋转轮-Javascript

javascript - HTML:jQuery:DOM 操作

java - 从我的网站下载 iOS 和 Android 应用程序?

html - 我如何在 CSS 中执行 "min-height: height of content; height: relative to viewport;"?

internet-explorer - 垂直和水平对齐具有相对大小的固定 div