如何将图像的位置设置在div的中心(垂直和水平)。我可以将它水平居中,但如何将其垂直居中?
N.B:图像的高度和宽度可能会发生变化。
HTML:
{% for photo in photos %}
<div class="thumbnail_container">
<a class='gallery' href='{{MEDIA_URL}}{{photo.image}}'><img src="{{MEDIA_URL}}{{photo.image}}" class="thumbnail"></a>
</div>
{% endfor %}
<span class="clear_left"></span>
的CSS:
.thumbnail_container {
background-color: white;
border: 1px solid red;
width: 250px;
height: 200px;
float: left;
margin: 5px;
}
.thumbnail {
display: block;
margin-left: auto;
margin-right: auto;
border: 1px solid red;
max-width: 240px;
max-height: 190px;
}
任何帮助将不胜感激!感谢。
答案 0 :(得分:3)
尝试制作这样的父容器CSS:
display:table-cell;
vertical-align:middle;
试试这堂课:
.thumbnail_container{
width: 250px;
height: 200px;
border:1px solid;
padding: 0px;
margin-bottom: 0px;
display: table-cell;
text-align: center;
vertical-align: middle;
}
答案 1 :(得分:0)
.thumbnail_container
{
border:2px solid red;
height:400px;
width:500px;
text-align:center;
}
a img
{
margin-top:15%;
}
答案 2 :(得分:0)
使用可以使用transform来做这个技巧,它总是在中心
.thumbnail_container {
position: relative;
width: 200px;
height: 200px;
border: 1px solid #444;
}
.thumbnail {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
编辑:
将此作为后备添加到单独的css文件中,以便IE希望支持它
.thumbnail {
position: absolute;
top: 50%;
left: 50%;
width: 80px;
height: 80px;
margin-left: -40px; /* 80px/2 */
margin-top: -40px;
}
您可以在html文件中以这种方式定位IE,并在ie.css
中添加您的CSS<!--[if lt IE 9]>
<link rel="stylesheet" href="ie.css">
<![endif]-->
所以ie.css将在任何低于ie9的浏览器上运行,因此我们可以在主要风格的现代浏览器中使用'translate',并且仍然支持旧版。