html - 如何垂直对齐 wrapper ,使其在(移动)屏幕上居中?

标签 html css css-float vertical-alignment

我正在练习制作一个针对移动屏幕分辨率的网页。我成功地调整了宽度。我如何处理这个高度?我的 wrapper 继续保持在顶部而不是垂直对齐。

我已经看到很多关于这个问题的问题,但还找不到在我的 css 上指定的解决方案。希望有人能帮助我。

HTML

<body>
  <div class="wrapper">
    <div class="header">
    </div>
    <div class="content">
      <a href="http://test"><div id="topleftbox"></div></a>
      <a href="http://test"><div id="toprightbox"></div></a>
      <a href="http://test"><div id="bottomleftbox"></div></a>
      <a href="http://test"><div id="bottomrightbox"></div></a>
    </div>
  </div>

CSS

    body {

    }

    .wrapper {
    margin: 0 auto;
    width: 100%;
    height: 100%;
    }

    .header {
    min-width: 50%;
    height: 20px;
    }

    .content {
    min-width: 500px;
    width: 40%;
    height: auto;
    margin: 0 auto;
    }

    #topleftbox {
    background: url(..);
    background-repeat: no-repeat;
    width: 229px;
    height: 228px;
    float: left;
    }

    #toprightbox {
    background: url(...);
    background-repeat: no-repeat;
    width: 229px;
    height: 228px;
    float: right;
    }

etc.

最佳答案

要使用display:table-cell;,您需要模拟完整的表格结构。幸运的是,您不必添加任何额外的标记,因为您可以根据 htmlbody 标记设置样式:

html{display:table;width:100%;height:100%;}
body{display:table-row;}
.wrapper{
    display:table-cell;
    vertical-align:middle;
    text-align:center;
}

注意:此垂直居中 .wrapper内容,而不是 div 本身。

关于html - 如何垂直对齐 wrapper ,使其在(移动)屏幕上居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15100577/

相关文章:

javascript - 使用 setTimeout 和 setInterval

html - 如何将多个 float 在多条线上的图像居中?

html - 为什么在这种情况下显示内联、内联 block 之间的差异?

javascript - 尝试在更新后从标签获取元素

html - svg 和文本之间的空间

使用步骤对 png 序列进行 CSS 转换

html - 在 Internet Explorer 中查看时更改站点

jquery - 让 .webm 在 Android 上自动播放?

css - 制作没有 float 的 CSS 网格

css - 在不使用 z-index 的情况下将一个 div 层叠在另一个之上时观察到的意外结果