我在div中有一些垂直对齐的文本,我希望在浏览器调整大小时保持垂直居中。当div与浏览器缩小时,我的文本会偏向div的底部。 有什么建议吗?
以下是我遇到的Fiddle问题。
HTML:
<div class="outer-wrapper">
<div class="inner-wrapper">
<div class="header-wrapper">
<h1>
Vertically aligned text
</h1>
</div>
</div>
</div>
CSS:
.outer-wrapper {
background: url("http://paulmason.name/media/demos/full-screen-background-image/background.jpg") no-repeat left top;
background-size: 100% auto;
height: 360px;
}
.inner-wrapper {
display: table;
width: 100%;
height: 360px;
}
.header-wrapper {
display: table-cell;
text-align: center;
vertical-align: middle;
}
h1 {
color: #fff;
}
答案 0 :(得分:2)
这是你要找的吗?
文本确实居中,虽然背景图片没有,因此看起来没有,所以这里有两个版本(小提琴使用background-size: cover
),其中图像中心也是
html, body {
height: 100%;
}
.outer-wrapper {
background: url("http://paulmason.name/media/demos/full-screen-background-image/background.jpg") no-repeat center center;
background-size: 100% auto;
max-height: 360px;
height: 100%;
}
.inner-wrapper {
display: table;
width: 100%;
height: 100%;
}
.header-wrapper {
display: table-cell;
text-align: center;
vertical-align: middle;
}
h1 {
color: black;
}
<div class="outer-wrapper">
<div class="inner-wrapper">
<div class="header-wrapper">
<h1>
Vertically aligned text
</h1>
</div>
</div>
</div>
答案 1 :(得分:0)
问题是你的背景,div保持相同的大小,文本保持居中,你的背景使它看起来不那么。就像Gavin所说的那样使用背景大小的封面。
答案 2 :(得分:0)