CSS 设置背景图片

一、基本设置

使用 CSS 可以通过以下属性设置背景图片:

  1. background-image: 设置背景图片的 URL。
  2. background-size: 设置背景图片的大小。可以设置为绝对像素值,也可以设置为百分比或 "cover"(填充整个容器)或 "contain"(完整显示图片)。
  3. background-repeat: 设置背景图片是否重复。可以设置为 "repeat"(重复)、"no-repeat"(不重复)、"repeat-x"(横向重复)或 "repeat-y"(纵向重复)。
  4. background-position: 设置背景图片的位置。可以设置为绝对像素值,也可以设置为百分比或关键字(如 "center"、"top"、"bottom"、"left" 或 "right")。

例如:

.bg-img {
  background-image: url("bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

 

二、具体场景设置

1、设置左侧区域背景图片高度填充整个可视区域,图片宽度自适应

<div class="container">
    <div class="left"></div>
    <div class="right"></div>
</div>

 

.container {
    width: 100vw;
    height: 100vh;
    background: #fff;
    display: flex;
}

.left {
    height: 100vh;
    width: 40vw;
    background: url("bg.jpg") no-repeat left;
    /* 当使用该设置时(方法一),当可视高度不变时,可视宽度变化时,背景图片的高度也会自适应变化 */
    background-size: contain;
    /* 当使用该设置时(方法二),当可视高度不变时,可视宽度变化时,背景图片的宽高不会变化,但在该场景下,背景图片右侧会被遮挡 */
    background-size: auto 100%;
}

.right {
    height: 100vh;
    width: 60vw;
}

通过上面的代码可知,无法完全实现「设置左侧区域背景图片高度填充整个可视区域,图片宽度自适应」。