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

HTML/CSS实现水平等分并排图片:50%宽度为何换行?

问题

我用宽高均为100%的div容器,在其中放置第一张宽度50%的图片,再放入另一张同样设置50%宽度的图片时,第二张会跑到第一张下方;但把宽度改成49%,两张就能正常并排。明明div宽度是100%,为啥50%就会换行?

相关代码

CSS

body {
  margin: 0px;
}

div {
  width: 100%;
  height: 100%;
}

.first-image {
  width: 50%;
  height: 100%;
  outline: 0px;
}

.second-image {
  width: 50%;
  height: 100%;
  outline: 0px;
}

HTML

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>project</title>
    <link rel="stylesheet" href="css/styles.css" />
  </head>
  <body>
    <div>
      <img class="first-image" src="https://media.istockphoto.com/id/173682323/photo/says.jpg?s=612x612&w=0&k=20&c=7jnXQrYzUWNTnLhjPgimxHIbjsaHvZmAMALGVzYNARQ=" alt="first-image" />
      <img class="second-image" src="https://ichef.bbci.co.uk/news/640/cpsprodpb/37B5/production/_89716241_thinkstockphotos-523060154.jpg" alt="second-image" />
    </div>
  </body>
</html>

原因

核心问题是行内块元素的空白字符。img标签默认是inline-block(行内块)元素,HTML里两张图片之间的换行、空格这些空白字符,会被浏览器解析成一个空格字符,这个空格本身占了一点宽度。两张50%宽度的图片加上这个空格的宽度,总宽度就超过了容器的100%,所以第二张图片被挤到下一行;改成49%时,两张图片总宽度98%,加上空格也不会超100%,所以能并排。

解决方法

这里给几个实用的解决思路:

  • 消除HTML中的空白:把两个img标签写在同一行,或者用注释填充间隙,比如:
    <img class="first-image" src="xxx" alt="first-image" /><!--
    --><img class="second-image" src="xxx" alt="second-image" />
    
  • 容器设font-size: 0:给div容器添加font-size: 0,这样空白字符的宽度就变成0,不会占用空间,同时记得给图片重新设置合适的font-size(如果需要的话):
    div {
      width: 100%;
      height: 100%;
      font-size: 0;
    }
    
  • 给图片加float:给两张图片设置float: left,脱离文档流后就不会受空白字符影响:
    .first-image, .second-image {
      float: left;
    }
    
  • 用Flexbox布局:给div容器设置display: flex,Flex布局会自动处理子元素的排列,默认就是横向并排,还能避免空白字符问题:
    div {
      width: 100%;
      height: 100%;
      display: flex;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 04:55:32