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

如何在图片右侧实现四个文本Div的2行2列布局?

解决方案

核心思路是把右侧的四个文本div统一放到一个父容器里,通过Flexbox控制这个容器内的元素排列为两行两列,同时让图片和这个容器横向并排。

修改后的代码

HTML

<div class="breadbody">
  <img src="https://via.placeholder.com/200.jpg" alt="example" class="breadpic">
  <!-- 新增文本容器,包裹四个文本div -->
  <div class="text-container">
    <div class="pictext">
      <div>
        <h3>are like examples thats why i do examples egg</h3>
      </div>
      <div>examples are like examples thats why i do examples eggexamples are like examples thats why i do examples egg</div>
    </div>
    <div class="pictext2">
      <div>
        <h3>here and there and thats why we do example</h3>
      </div>
      <div>examples are like examples thats why i do examples eggexamples are like examples thats why i do examples egg</div>
    </div>
    <div class="pictext3">
      <div>
        <h3>here and there and thats why we do example</h3>
      </div>
      <div>examples are like examples thats why i do examples egg but i dont do any more exampling</div>
    </div>
    <div class="pictext4">
      <div>
        <h3>example text</h3>
      </div>
      <div>example text here and here and there and thats why we do example</div>
    </div>
  </div>
</div>

CSS

.breadbody {
  display: flex;
  flex-direction: row;
  gap: 20px; /* 图片和文本容器之间的间距 */
  flex-wrap: wrap; /* 响应式:屏幕较小时自动换行 */
}

.breadpic {
  max-width: 200px; /* 固定图片宽度,避免过大 */
  border: 5px solid green;
}

.text-container {
  display: flex;
  flex-wrap: wrap; /* 允许内部元素换行 */
  gap: 15px; /* 文本div之间的间距 */
  flex: 1; /* 让文本容器占满剩余空间 */
}

/* 给所有文本div统一设置基础样式,避免重复代码 */
.pictext, .pictext2, .pictext3, .pictext4 {
  flex: 1 1 calc(50% - 15px); /* 每行两个,减去gap的一半,保证不会溢出 */
  display: flex;
  flex-direction: column;
  padding: 10px;
  box-sizing: border-box; /* 内边距不影响宽度计算 */
}

.pictext { border: 5px solid blue; }
.pictext2 { border: 5px solid red; }
.pictext3 { border: 5px solid yellow; }
.pictext4 { border: 5px solid aqua; }

关键说明

  1. 结构调整:新增.text-container包裹四个文本div,让.breadbody只包含图片和这个容器两个子元素,实现图片和文本区域的横向并排。
  2. Flex布局控制:
    • .text-container设置flex-wrap: wrap,内部元素宽度设为calc(50% - 15px),确保每行刚好放下两个div,同时留出间距。
    • flex: 1 1 ...中的第一个1表示元素会拉伸填充剩余空间,第二个1表示允许元素收缩,保证响应式适配。
  3. 响应式优化:.breadbody添加flex-wrap: wrap,当屏幕宽度不足以同时放下图片和文本容器时,文本容器会自动换行到图片下方。

内容的提问来源于stack exchange,提问作者kj-44

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:25:48