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

为何这段简单的CSS代码无法实现两张图片并排效果?

解决inline-block图片无法并排的问题

嘿,我来帮你搞定这个问题~你设置了display: inline-block却没达到并排效果,大概率是遇到了inline-block元素的空白符陷阱,另外也可以换更省心的现代布局方案,具体来看:

原因分析:空白字符占据额外宽度

当你用inline-block时,HTML里两个<img>之间的换行、空格都会被浏览器解析成空白字符,这些字符会占据一定宽度。咱们算一下:你的每张图宽30vw,左右margin各10vw,两张图加起来是30*2 + 10*2 = 80vw,看起来剩20vw空间,但加上空白符的宽度,总宽度就会超过100vw,浏览器就会把第二张图挤到下一行。

解决方案1:消除空白符影响

方法A:去掉HTML里的空白

把两张img的代码写在同一行,或者用注释消除换行:

<body>
  <div>
    <img src="图片地址1"><img src="图片地址2">
    <!-- 或者这样:<img src="图片地址1"><!-- --><img src="图片地址2"> -->
  </div>
</body>

方法B:给父元素设置font-size: 0

空白符的大小由父元素的字体大小决定,把父div的font-size设为0,空白符就不会占空间了:

body {
  padding: 0;
  margin: 0;
}
div { /* 或者给div加个类名更规范 */
  font-size: 0;
}
img {
  display: inline-block;
  width: 30vw;
  margin-left: 10vw;
  margin-right: 10vw;
}

解决方案2:用Flex布局(更推荐)

相比inline-block,Flex布局完全不用操心空白符的问题,实现起来更简单稳定:

body {
  padding: 0;
  margin: 0;
}
div {
  display: flex;
  /* 如果想保留你原来的margin设置,这行可以不用:justify-content: space-between; */
}
img {
  width: 30vw;
  margin-left: 10vw;
  margin-right: 10vw;
}

这样不管HTML里有没有换行空格,两张图都会乖乖并排~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 07:02:54