我找不到一个没有固定图像尺寸的答案所以我会问它。
我有一个带有图像的div,该图片可以是任意大小。我需要它来自动缩放和自动对齐。我可以很好地扩展它,但垂直对齐它是一个挑战。我需要将它垂直对齐。
HTML + CSS
<div id="myDiv">
<img src="./img/example.png"></img>
</div>
#myDiv {
position: absolute;
height: 100%;
width: 100%;
top: 0%;
left: 0%;
text-align: center;
}
#myDiv img {
height: auto;
width: auto;
max-height: 70%;
max-width: 70%
}
答案 0 :(得分:5)
此示例强制图像内的图像水平和垂直对齐;在这种特殊情况下,约束为130x130px。在css中的两个不同位置更改定义为130px的宽度和高度,以更改约束大小。
[编辑:添加了显示最低要求设置的简化示例]
简化示例:
HTML:
<div class="pic">
<img src="/path/to/pic.jpg"/>
</div>
的CSS:
.pic {
display: inline-block;
width: 130px;
height: 130px;
outline: solid 1px #cccce3;
font-size: 0;
text-align: center;
}
.pic:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
.pic img {
max-width: 130px;
max-height: 130px;
display: inline-block;
vertical-align: middle;
}
完整示例:
原始codepen显示更复杂的示例:http://codepen.io/anon/pen/culvD。
这是html:
<ul class="pics">
<li>
<div class="pic">
<img src="/path/to/pic1.jpg"/>
</div>
</li>
<li>
<div class="pic">
<img src="/path/to/pic2.jpg"/>
</div>
</li>
</ul>
这是css:
ul.pics {
margin: 0;
padding: 0;
list-style-type: none;
text-align: center;
}
ul.pics li {
display: inline-block;
width: 130px;
margin: 4px;
padding: 6px;
background-color: #e6e6ec;
outline: solid 1px #cccce3;
}
ul.pics li .pic {
height: 130px;
font-size: 0;
text-align: center;
}
ul.pics li .pic:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
ul.pics li img {
max-width: 130px;
max-height: 130px;
display: inline-block;
vertical-align: middle;
}
答案 1 :(得分:-2)
将元素居中对齐中心,将其宽度设置为宽度,然后左右边距为自动。