答案:使用CSSvertical-align属性
您可以结合<div>使用CSSvertical-align属性和display: table-cell;包含div元素上的,将图像垂直居中对齐。
另外,由于CSSmargin属性不适用于display: table-cell;元素,因此我们用另一个DIV(.outer-wrapper)包装了包含DIV并在其上应用了边距。该解决方案甚至适用于高度大于包含DIV的图像。
例试试这个代码»
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Vertically Center the IMG in a DIV with CSS</title>
<style>
.outer-wrapper{
display: inline-block;
margin: 20px;
}
.frame{
width: 250px;
height: 200px;
border: 1px solid black;
vertical-align: middle;
text-align: center;
display: table-cell;
}
img{
max-width: 100%;
max-height: 100%;
display: block;
margin: 0 auto;
}
</style>
</head>
<body>
<!-- Alignment of undersized image -->
<div class="outer-wrapper">
<div class="frame">
<img src="images/club.jpg" alt="Club Card">
</div>
</div>
<br>
<!-- Alignment of vertically oversized image -->
<div class="outer-wrapper">
<div class="frame">
<img src="images/kites.jpg" alt="Flying Kites">
</div>
</div>
<br>
<!-- Alignment of horizontally oversized image -->
<div class="outer-wrapper">
<div class="frame">
<img src="images/sky.jpg" alt="Cloudy Sky">
</div>
</div>
</body>
</html>
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h61183.shtml