我已经结合了一些关于图像居中的答案,因此它可以在完整的HTML页面上运行。
.image-center {
vertical-align: middle;
margin: 1em 0;
}
.helper {
display: inline-block;
height: 100%;
vertical-align: middle;
}
.vert-center {
min-height: 10em;
vertical-align: middle;
height: 100%;
}
.horz-center {
text-align: center;
}
html, body {
height: 100%;
}
<body>
<div class="vert-center horz-center">
<span class="helper"></span>
<img src="img/image.gif" class="image-center" />
</div>
</body>
这样,图像将垂直居中,因为它的容器位于页面的100%高度。这通常是图像本身不垂直居中的方式。
希望对你们有所帮助。
答案 0 :(得分:1)
或者,你可以避免这么多'糟糕'的css样式约定,并采取类似下面的内容,正如其他数以千计的SO问题所述。
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
display: table;
}
.container {
display: table-cell;
text-align: center;
vertical-align: middle;
}
.content {
display: inline-block;
text-align: left;
}
<div class="container">
<div class="content">
<img src="http://placekitten.com/g/200/300" alt="" />
</div>
</div>
.parent {
display: table;
height: 300px;
background: yellow;
width:300px;
}
.child {
display: table-cell;
vertical-align: middle;
text-align:center;
}
<div class="parent">
<div class="child">
<div class="content">XXX</div>
</div>
</div>
#outer {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align:center;
}
#inner {
width: 50%;
height: 50%;
top: 25%;
margin: 0 auto;
position: relative;
background: orange;
}
<div id=outer>
<img id=inner src="http://placekitten.com/g/200/300" alt=""/>
</div>
如果您知道图像(和div)的大小,则可以应用以下边距:
.container {
height: 300px;
width: 300px;
background: #eee;
position: absolute;
margin: -150px 0 0 -150px;
left: 50%;
top: 50%;
}
.box {
height: 100px;
width: 100px;
background: #222;
position: absolute;
/*Centering Method 2*/
margin: -50px 0 0 -50px;
left: 50%;
top: 50%;
}
<div class="container">
<div class="box"></div>
</div>
居中文本在css中也是轻而易举的
.container {
height: 200px; /*Set line-height to this value*/
width: 400px;
background: #eee;
margin: 150px auto;
}
h1 {
font: 40px/200px Helvetica, sans-serif;
text-align: center;
}
<div class="container">
<h1>I'm centered!</h1>
</div>
使用背景图像定位
.container {
height: 300px;
width: 300px;
margin: 150px auto;
background: #eee url(http://lorempixum.com/100/100/nature/4) no-repeat center;
}
<div class="container"></div>
因此,正如您所看到的,只需几行代码就可以实现这一目标。