css - 使用 CSS 使元素居中最不可怕的方法是什么?

标签 css vertical-alignment

我的 html 看起来像这样:

<!DOCTYPE html> 
<head>
    <meta charset="utf-8">

    <!--[if lte IE 8]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head> 

<body>

<header>
  <h1>Some title thing, who knows</h1>
  <nav>
    <ul>
      <li><a href="one/">One</a></li>
      <li><a href="two/">Two</a></li>
      <li><a href="three/">Three</a></li>
    </ul>
  </nav>
</header>

</body>
</html>

如果我给 header 一个自动边距和宽度,它就会水平居中。确保垂直居中的最不可怕的方法是什么?

我知道以下文章提供了对该主题的一些讨论:

最佳答案

由于这个问题被标记为 CSS3,这里有一个使用 CSS3 的“flexbox”的“最不可怕”的解决方案。不幸的是,只有最新版本的 Safari、Chrome 和 Firefox 支持它。

html, body {
  margin:0;
  padding:0;
  height:100%;
  background:#eee;
}
header {
  width:30em;
  background:#fff;
}
body {  
  display:box;
  box-pack:center;
  box-align:center;
  box-orient:horizontal;
}

更完整的演示 can be found here .

关于css - 使用 CSS 使元素居中最不可怕的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7781014/

相关文章:

html - 没有表格对齐

css - 在 li 中垂直居中链接

css - SVG 填充规则被忽略

css - 无法在 WordPress 中制作 css 圆 Angular 表

Css垂直导航菜单重叠

css - 排列这些自定义复选框和标签

javascript - 自适应布局上的垂直自适应图像对齐

javascript - 在 styled-components 中传递一个 window.onload 函数

jquery - 动态添加class/id onclick

java - 如何在Java中解析css文件