Hep*_*n3D 2 css image alignment vertical-alignment
我找不到一个没有固定图像尺寸的答案所以我会问它.
我有一个带有图像的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%
}
Run Code Online (Sandbox Code Playgroud)
小智 5
此示例强制图像在框内的水平和垂直对齐; 在这种特殊情况下,约束为130x130px.在css中的两个单独位置更改定义为130px的宽度和高度,以更改约束大小.
[编辑:添加了显示最低要求设置的简化示例]
简化示例:
HTML:
<div class="pic">
<img src="/path/to/pic.jpg"/>
</div>
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
完整的例子:
原始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>
Run Code Online (Sandbox Code Playgroud)
这是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;
}
Run Code Online (Sandbox Code Playgroud)