我假设你的页面高度是视图的高度,您只能使用W /现代浏览器。 See view height
基本上我们在这里做的是我们已经知道我们的页脚和页眉会有多高(在小提琴中我只是将它设置为每个50px)。然后我们使用calc
CSS属性设置view height (vh)
至100% - 100像素(意为页脚和页眉的身高放在一起(50 + 50 = 100)
Check the fiddle
<div id="main-body">
<div class="header"></div>
<div class="content clearfix">
<div class="a">1</div>
<div class="a">2</div>
<div class="a">3</div>
<div class="a">4</div>
</div>
<div class="footer"></div>
</div>
* {
box-sizing: border-box; /* add for browser prefixes */
}
#main-body {
height: 100%;
overflow: hidden;
}
.header, .footer {
background-color: blue;
height: 50px;
}
.content .a {
height: calc(100vh - 100px);
background-color: red;
width: 25%;
float: left;
}
.clearfix:after {
content: "";
clear:both;
display:table;
}
请注意,您还可以需要视meta标签在你<head>
为此工作。
<meta name="viewport" content="width=device-width, initial-scale=1">
OP加ED的他想市中心的这些内容的div内的文本
<div id="main-body">
<div class="header"></div>
<div class="content clearfix">
<div class="a"><p>1</p></div>
<div class="a"><p>2</p></div>
<div class="a"><p>3</p></div>
<div class="a"><p>4</p></div>
</div>
<div class="footer"></div>
</div>
#main-body {
height: 100%;
overflow: hidden;
}
.header, .footer {
background-color: blue;
height: 50px;
}
.content .a {
height: calc(100vh - 100px);
background-color: red;
width: 25%;
float: left;
position: relative;
}
.content .a p {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
margin: 0;
}
.clearfix:after {
content: "";
clear:both;
display:table;
}
Yay工作!非常感谢。 – Eidolon
我能再问你一个又快又愚蠢的问题吗? – Eidolon
有没有简单的方法可以使文本垂直居中? (不使用jquery) – Eidolon