これを試してくださいhttp://jsfiddle.net/David_Knowles/ddh2k/
これは、あなたが望むことのほとんどを行います。画面の高さが画像固有の高さよりも低くなったときに、画像を使用可能な高さの 80% にしたい場合は、JavaScript を追加する必要があります。
<body>
<div id="container">
<img src="http://dummyimage.com/600x400/000/fff.jpg" alt="apropriate alt text">
</div>
</body>
html,
body{
height:100%;
width:100%;
margin:0;
padding:0;
background-color: #eee;
}
#container{
margin: auto;
width:100%;
height:100%;
text-align:center;
font-size:0;
white-space:nowrap;
background:#aae;
}
#container:before{
content:'';
display:inline-block;
height:100%;
vertical-align:middle;
}
img {
width:80%;
height:auto;
display:inline-block;
vertical-align:middle;
background:#fff;
}