比如一张宽x高=900x600的图片,窗口宽x高=720x1920,我想让图片按比例填充窗口高度(不用管图片宽度会超出窗口)。
再比如图片宽x高=500x1200,窗口宽x高=1440x1080,这时应按比例填充窗口宽度。
如图:

请问如何实现?
感谢各位大神!现将解决方法整理如下:
法一:(直接用background)
法二:(用img + transform,推荐)

法三:(用img + onload,不推荐,每次需要刷新才能居中)

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这是两种情况。
第一种,你的左图,图片高度需要填满整个容器,宽度超出的可以忽略,并且图片水平居中。
第二种,你的右图,图片宽度填满整个容器,高度超出的忽略,并且图片垂直要居中
如果不用background图片,用img也是一样,水平和垂直方向其中之一100%,另一个自适应,居中就用position控制居中或者用javascript实现。
同时设置
min-heigt:100%;min-width:100%;再用css3设置一个垂直居中即可
position: relative;top:50%;transform:translate(0, -50%);比较典型的
object-fit: cover;适用场合,入门可以参考鑫大的这篇半深入理解CSS3 object-position/object-fit属性,如果需要考虑兼容性,请自行去github上搜索object-fit的polyfill(无推荐)。