【发布时间】:2016-05-07 18:24:36
【问题描述】:
1280 x 500 是包含图像作为背景的<div> 的尺寸。如果您注意到,渲染的背景会被裁剪而不是缩小以适应小于原始图像的 div。我的理解是 background-size: cover 是为了在不裁剪的情况下放大或缩小图像。为什么它不起作用?
HTML
<div class="page-header-div">
<div class="page-header-div-image-blog" style="background: url(<?php echo $bannerurl ?>) no-repeat;"></div>
<div class="downarrow text-center downarrow1" onclick="scrollPage(this);"><i class="fa fa-chevron-down"></i></div>
</div>
CSS
.page-header-div { position: relative; }
.page-header-div-image-blog {
background-size: cover;
height: 100%;
}
在另一个页面上完全相同的标记可以正常工作!这两个页面具有用于 sn-p 的完全相同的标签。有没有办法通过 CSS 解决这个问题?如果是这样,如何使用 JS 来做这件事(如果可能的话,我真的很想避免这种情况)。
【问题讨论】:
-
你需要
background-size: contain; -
另外,2880 x 900 与 1280 x 500 的 div 的纵横比不同,所以即使使用
contain,也会有差距 -
你是对的,包含也不起作用。但是,相同的图像在具有相同 div 尺寸的另一个页面上非常适合,这让我感到困惑。
-
在问这样的问题之前检查MDN docs这么难吗?
标签: html css image background-image background-size