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

如何将第二个div中的图片尺寸设置为第一个div图片的一半?

这里有几种可行的方案来实现第二个div内图片自动匹配第一个div图片宽度一半的需求,按推荐程度排序:

方案1:使用CSS自定义属性(纯CSS推荐方案)

这种方法不需要JavaScript,直接在CSS中建立两个元素的宽度关联,维护起来更简洁。

你只需要用CSS变量存储第一个图片的宽度,然后让第二个图片引用这个变量并取一半值:

.first-div img {
  --img-width: 500px; /* 这个数值可以随时修改,后续也能通过JS动态更新 */
  width: var(--img-width);
}

.second-div img {
  width: calc(var(--img-width) / 2);
}

之后不管你把--img-width改成什么值(比如200px),第二个图片都会自动变成100px,完美适配第一个图片的随机尺寸。

如果第一个图片的宽度是由父容器决定的(比如响应式场景),可以把变量定义在父容器上,让图片自适应容器:

.first-div {
  --container-width: 500px;
  width: var(--container-width);
}
.first-div img {
  width: 100%;
}
.second-div img {
  width: calc(var(--container-width) / 2);
}
方案2:JavaScript动态同步宽度

如果第一个图片的宽度完全不可预知(比如来自第三方资源、动态计算的尺寸),可以用JS监听图片加载完成事件,获取实际宽度后再设置第二个图片的尺寸:

document.addEventListener('DOMContentLoaded', function() {
  const firstImg = document.querySelector('.first-div img');
  const secondImg = document.querySelector('.second-div img');

  // 确保图片加载完成后再获取宽度,避免拿到错误值
  firstImg.onload = function() {
    const firstWidth = firstImg.offsetWidth;
    secondImg.style.width = `${firstWidth / 2}px`;
  };

  // 处理图片已缓存的情况,手动触发加载完成事件
  if (firstImg.complete) {
    firstImg.onload();
  }
});

这种方案能应对所有动态场景,哪怕第一个图片的宽度被其他脚本修改,只要重新触发逻辑就能同步更新第二个图片的尺寸。

方案3:CSS Grid/Flex布局实现比例关联

如果两个div处于同一个布局容器中,用Grid或Flex的比例特性也能轻松实现2:1的宽度关系:

以Grid为例,代码如下:

.image-container {
  display: grid;
  grid-template-columns: 2fr 1fr; /* 第一列宽度是第二列的2倍 */
}
.first-div img, .second-div img {
  width: 100%;
  height: auto; /* 保持图片比例 */
}

然后调整HTML结构,把两个div放到容器里:

<div class="image-container">
  <div class="first-div">
    <img src="https://i.pinimg.com/originals/99/68/8e/99688e0cebdb1f8bde066b9bbf969003.jpg" />
  </div>
  <div class="second-div">
    <img src="https://cdn.pixabay.com/photo/2017/01/06/19/15/soap-bubble-1958650_960_720.jpg" />
  </div>
</div>

这种方案适合需要让两个图片跟随容器宽度自适应,且始终保持2:1比例的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:14:32