我会为此使用 JS。CSS 似乎还不能很好地处理纵横比。
尝试这样的事情:
首先,创建一个 div 并在其中放置一个图像
<div class="big-image">
<img src="path.jpg" width="1000" height="1000" alt="whatever">
</div>
然后在您的 CSS 中执行此操作:
.featuredImage img {
position: fixed;
top: 0;
left: 0;
z-index: -10;
}
/* this class will be added via JS */
.bgwidth { width: 100%; }
.bgheight { height: 100%; }
最后,你的 JS
var theWindow = $(window),
$bg = $(".big-image img"), // Use your image selector here.
aspectRatio = $bg.width() / $bg.height();
$bg.removeAttr('width');
$bg.removeAttr('height');
function resizeBg() {
if ( (theWindow.width() / theWindow.height()) < aspectRatio ) {
$bg
.removeClass()
.addClass('bgheight');
} else {
$bg
.removeClass()
.addClass('bgwidth');
}
}
theWindow.resize(function() {
resizeBg();
}).trigger("resize");
让我知道这是否有意义。不仅仅是我知道的 CSS,而是一个解决方案