You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让flex容器中div的background-image保持比例适配容器?

解决flex容器背景图适配且保持宽高比的问题

你犯了个关键错误:object-fit和object-position是专门给<img>、<video>这类替换元素用的,对设置了background-image的<div>完全不起作用,所以你调遍object-fit的取值都没用。

要让背景图适配容器且不破坏宽高比,得用背景图专属的CSS属性,修改.main的样式如下:

.main {
  display: flex;
  width: 100%;
  height: 853px;
  justify-content: center;
  /* 背景图相关控制属性 */
  background-image: url('titelbild.jpg'); /* 建议把行内样式移到CSS里,方便统一维护 */
  background-size: cover; /* 保持宽高比,让图片覆盖整个容器,超出部分自动裁剪 */
  background-position: center center; /* 让图片在容器中居中显示 */
  background-repeat: no-repeat; /* 防止图片重复平铺 */
}

对应的HTML可以移除行内的background-image,改成上面CSS里的写法:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Startseite</title>
  <link href="index.css" type="text/css" rel="stylesheet">
</head>

<body>
  <div class="main">
    <div class="titel">
      <h1>Engelberg Titlis</h1>
    </div>
  </div>
</body>
</html>

如果不想裁剪图片,而是让图片完整显示(容器可能会出现空白区域),可以把background-size: cover改成background-size: contain,这样图片会保持比例并完整适配容器的最大可用空间。

内容的提问来源于stack exchange,提问作者Lehe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 21:55:34