如何获得图像,无论是纵向还是横向:

  • 在水平和垂直方向上居中(在调整浏览器窗口大小时居中)
  • 占据浏览器窗口的固定部分,以响应方式缩放
  • 在调整浏览器窗口大小时保留长宽比
  • 最佳答案

    这是一个仅使用基本CSS即可满足上述所有条件的解决方案(无需CSS3):

    http://jsfiddle.net/dvidby0/sytj1uws/1/

    HTML

    <div class="container">
    <!-- this is a landscape image-->
    <img src="http://upload.wikimedia.org/wikipedia/commons/1/15/Cat_August_2010-4.jpg"/>
    <!--or use this portrait image; still works
    <img src="http://upload.wikimedia.org/wikipedia/commons/9/9d/Britishblue.jpg"/>
    -->
    

    CSS
    .container {
    width: 80%;
    height: 80%;
    position: absolute;
    margin:auto;
    top:0;
    bottom:0;
    left:0;
    right:0;
    background-color: #aaa;
    }
    
    img {
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    margin:auto;
    top:0;
    bottom:0;
    left:0;
    right:0;
    }
    

    10-08 04:58