图片元素控制

在 CSS 中控制图片在容器内的对齐和缩放方式,主要通过以下核心属性实现:

一、图片元素(<img>)控制方案

使用 object-fitobject-position 属性:

 1.container img {
 2  width: 100%;    /* 容器宽度 */
 3  height: 100%;   /* 容器高度 */
 4  
 5  /* 缩放方式 */
 6  object-fit: cover | contain | fill | scale-down | none;
 7  
 8  /* 对齐方式(类似 background-position) */
 9  object-position: center top; /* 水平对齐 垂直对齐 */
10}

常见缩放模式

  1. cover(铺满裁剪)
    保持宽高比,完全覆盖容器,可能裁剪图片
  2. contain(等比完整显示)
    保持宽高比,完整显示图片,可能有留白
  3. fill(拉伸填充)
    忽略宽高比,强制拉伸填满容器
  4. scale-down(智能缩小)
    选择 nonecontain 中更小的显示方式
  5. none(原始尺寸)
    保持原始尺寸,不缩放

二、背景图片控制方案

使用 background-sizebackground-position

 1.container {
 2  width: 100%;
 3  height: 400px;
 4  background-image: url("image.jpg");
 5  
 6  /* 缩放方式 */
 7  background-size: cover | contain | 100% 100% | auto;
 8  
 9  /* 对齐方式 */
10  background-position: center center; /* 水平 垂直 */
11  
12  /* 重复方式 */
13  background-repeat: no-repeat;
14}

常见缩放模式

  1. cover
    保持宽高比,完全覆盖容器(可能裁剪)
  2. contain
    保持宽高比,完整显示图片(可能有留白)
  3. 100% 100%
    强制拉伸填满容器(可能变形)
  4. auto
    保持原始尺寸

三、经典布局技巧

  1. 居中显示(固定宽高)

    1.container {
    2  display: flex;
    3  justify-content: center;
    4  align-items: center;
    5  overflow: hidden;
    6}
  2. 响应式等比缩放

    1img {
    2  max-width: 100%;
    3  height: auto; /* 保持宽高比 */
    4}

四、属性对比表

特性 图片元素方案 背景图片方案
控制方式 object-fit background-size
对齐定位 object-position background-position
容器要求 需要明确宽高 需要明确宽高
语义化 更直观(用于内容图) 更适合装饰性图片
重复平铺 不支持 通过 background-repeat 控制

五、使用场景建议

  • 商品展示图object-fit: contain 保证完整显示
  • 头像/封面图object-fit: cover + object-position: center 裁剪居中
  • 全屏背景图background-size: cover + background-position: center
  • 需要保持宽高比时,始终设置父容器宽高