我正在尝试居中图像(门)(在div内) 垂直 和水平< / strong> 在另一个有背景图片的div上。
已经坚持了一段时间..
这是我到目前为止所尝试的:
CSS :
html,body{
height:100%;
}
#container{
margin:0 auto;
text-align: center;
height:100%;
min-height: 100%;
height: auto !important;
width:100%;
background: url('http://i.imgur.com/Zd7A3rZ.png') no-repeat 0 0;
background-size: 100% 100%;
}
#background{
margin:0 auto;
text-align: center;
max-height: 100%;
width:100%;
}
#doorDiv{
position: absolute;
top :50%;
left: 50%;
border: solid 4px;
}
条件:
答案 0 :(得分:1)
如果你只需要ie9 +我建议你使用转换解决方案:
#doorDiv{
position: absolute;
top :50%;
left: 50%;
border: solid 4px;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-o-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
width: 25%;
}
和门缩放:
#doorDiv img{
max-width: 100%;
}
但正如我上面所说,这只适用于ie9 + http://caniuse.com/#search=transform
答案 1 :(得分:1)
对啊!所以我提供了已经改变的代码。你可以清楚地看到这里发生了什么。只需使用img
和absolute
将margin: auto
居中,然后设置max-width
和max-height
即可。
<div id="container">
<img id="door" src="http://i.imgur.com/iXiL1CS.jpg" />
</div>
#container {
margin:0 auto;
text-align: center;
position: relative;
height:100%;
min-height: 100%;
height: auto !important;
width:100%;
background: url('http://i.imgur.com/Zd7A3rZ.png') no-repeat 0 0;
background-size: 100% 100%;
}
#door {
position: absolute;
top: 0;
bottom:0;
right: 0;
left:0;
margin: auto;
max-width:10%;
max-height:25%;
width: auto0;
height: auto;
border: solid 4px;
}