我需要在div内垂直和水平居中。我正在使用display inline-block属性。
HTML
<div class="container">
<div class="box">
<div class="image-container"><img src="image.gif"></div>
</div>
</div>
CSS
.box {
display: inline-block;
width: 32px;
height: 32px;
border: 1px solid #f2f2f2;
margin-left: 1px;
margin-top: 5px;
}
答案 0 :(得分:4)
此方法适用于未知维度的动态内容。
基本上,我们使用vertical-align:middle
进行垂直居中,text-align:center
进行水平居中。为了让vertical-align:middle
能够使用div
,我们需要将父元素设置为display:table
,将目标子元素div
设置为display:table-cell
。当然,你可以通过absolute
定位来实现这种定心,但这需要你知道img
的尺寸。这种方法适用于未知的维度。
<强> HTML 强>
<div class="container">
<div class="box">
<img src="http://placehold.it/200x200">
</div>
</div>
<强> CSS 强>
html, body {
height:100%;
width:100%;
margin:0px;
}
.container {
display:table;
vertical-align:middle;
text-align:center;
height:100%;
width:100%;
}
.box {
display:table-cell;
vertical-align:middle;
}
答案 1 :(得分:0)
可以使用水平线:
.box {
display: inline-block;
width: 32px;
height: 32px;
border: 1px solid #f2f2f2;
margin:auto;
text-align:center;
}
至于我知道你可以使用垂直
#content {position:absolute; top:50%; height:240px; margin-top:-120px; /* negative half of the height */}
请阅读: http://blog.themeforest.net/tutorials/vertical-centering-with-css/
答案 2 :(得分:0)
您可以将图像放入如下表格中:
<table class="container">
<tr class="box">
<td class="image-container"><img src="image.gif"></td>
</tr>
</table>
然后在CSS中使用它:
.image-container {
vertical-align: middle;
text-align: center;
}