Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何垂直对齐包装,使其在(移动)屏幕上居中?_Html_Css_Css Float_Vertical Alignment - Fatal编程技术网

Html 如何垂直对齐包装,使其在(移动)屏幕上居中?

Html 如何垂直对齐包装,使其在(移动)屏幕上居中?,html,css,css-float,vertical-alignment,Html,Css,Css Float,Vertical Alignment,我正在练习使网页响应移动屏幕分辨率。我成功地控制了宽度。我如何管理这个高度?我的包装纸继续保持在顶部,而不是垂直对齐 我已经看到了很多关于这个问题的问题,但是还没有找到在我的css上指定的解决方案。希望有人能帮我 HTML <body> <div class="wrapper"> <div class="header"> </div> <div class="content"> <a hre

我正在练习使网页响应移动屏幕分辨率。我成功地控制了宽度。我如何管理这个高度?我的包装纸继续保持在顶部,而不是垂直对齐

我已经看到了很多关于这个问题的问题,但是还没有找到在我的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>

您可以使用
display:table
来呈现类似于表格和表格单元格的div


更多信息:

与水平居中不同,CSS从来没有垂直居中的方法。唯一的方法是使用javascript获取“window.innerHeight”,然后将HTML元素(包装器)的高度添加到其中,并将总高度一分为二。并将其设置为新的顶部位置


此外,您的“包装器”的高度为100%,这意味着它将填充整个屏幕高度。如果它与屏幕的高度相同,它将不会居中。此外,它的宽度为100%,我怀疑“边距:0自动”有什么作用。

CSS中的垂直对齐有几个选项:

1。通过表格单元格。(这在IE8+中确实有效)

2。行高=元素的高度(如果你有多行文字,我想这看起来很时髦)

你可以找到更多的选择,但我相信
display:table
应该是你现在最好的选择


使用
显示:表格单元格您需要模拟完整的表结构。幸运的是,您不必添加任何额外的标记,因为您可以根据
html
body
标记进行样式设置:

html{display:table;width:100%;height:100%;}
body{display:table-row;}
.wrapper{
    display:table-cell;
    vertical-align:middle;
    text-align:center;
}
注意:这是垂直居中的
.wrapper
内容,而不是div本身

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