欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
答案:使用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