Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 垂直调整浏览器窗口大小时,图像是否按比例调整大小?_Javascript_Jquery_Css_Html_Responsive Design - Fatal编程技术网

Javascript 垂直调整浏览器窗口大小时,图像是否按比例调整大小?

Javascript 垂直调整浏览器窗口大小时,图像是否按比例调整大小?,javascript,jquery,css,html,responsive-design,Javascript,Jquery,Css,Html,Responsive Design,我有一些文章带有display:table,里面有一个图像包装器带有display:table cell,可以实现图像的垂直和水平对齐。图像设置为80%的宽度和高度,因此在调整浏览器窗口大小时,图像应按比例缩放 <article class="layer"> <div class="wrap"> <img src="whatever.jpg" alt="image"/> </div> </article> ht

我有一些文章带有
display:table
,里面有一个图像包装器带有
display:table cell
,可以实现图像的垂直和水平对齐。图像设置为80%的宽度和高度,因此在调整浏览器窗口大小时,图像应按比例缩放

<article class="layer">
   <div class="wrap">
      <img src="whatever.jpg" alt="image"/>
   </div>
</article>

html, body, #content {
    margin: 0; padding: 0;
    height: 100%;
    width: 100%;
}

article.layer {
    position: relative;
    display: table;
    height: 100%;
    width: 100%;
}

article.layer img {
   max-width: 80%;
   max-height: 80%;
}

div.wrap {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

在垂直调整浏览器窗口的大小时,有没有办法实现同样的效果? 我很想用纯CSS的方式来做,但我也会使用jQuery或Javascript来做

有什么想法吗?提前感谢您。

javascript:

window.onresize = function(){
      $('article.layer img').css({
        maxHeight: $('article.layer').height() * 0.8,
        maxWidth: $('article.layer').width() * 0.8
      });
    };
jQuery:

$(window).resize(function(){
  $('article.layer img').css({
    maxHeight: $('article.layer').height() * 0.8,
    maxWidth: $('article.layer').width() * 0.8
  });
});