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

CSS Grid布局中实现网格项内图片与文字右侧并排显示

实现方案

核心思路

全程不需要修改你已经编写完成的Grid布局逻辑,不会破坏现有整体设计效果,仅对需要插入图片的单个网格项做内部布局调整即可实现图文并排。

图片被挤到文字下方的原因:<img>默认为行内元素,当前网格项内部没有做布局划分,当文字占满容器宽度后,图片会自动折行到下一行显示。


具体修改步骤

1. 微调带图片项的HTML结构

将原本混排的文字内容和图片拆分为平级的两个块,不改动外层Grid相关的DOM结构:

<!-- 仅修改带图片的这一个.item,其他item保持原样即可 -->
<div class="item has-image">
  <div class="item-text">
    <div id="rule-title">Never reveal personal information</div>
    The best way to stay safe online is to NEVER share 
    your real name, phone number, address, email or 
    passwords.
  </div>
  <img id="rule-image" src="images/personal.png" alt="个人信息保护提示图标">
</div>

2. 新增内部布局CSS(完全不改动原有Grid配置)

你原有.grid-rules的所有Grid相关样式全部保留,只追加以下样式代码:

/* 仅给带图片的网格项设置内部flex布局,作用范围仅限item内部,不影响外层Grid排列 */
.item.has-image {
  display: flex;
  gap: 16px; /* 可按需调整文字和图片的间距 */
  align-items: flex-start; /* 实现图片与文字顶部对齐 */
}

/* 文字块自动占满剩余宽度 */
.item.has-image .item-text {
  flex: 1;
}

/* 固定图片尺寸,避免被压缩或折行 */
#rule-image {
  width: 72px; /* 可按实际设计稿尺寸调整 */
  height: auto;
  flex-shrink: 0;
}

/* 可选:清理原有hr样式里重复的冗余属性 */
hr {
  position: relative;
  border-top: 2px solid #FFBC3A;
  width: 647px;
  top: -35px;
}

效果说明

  • 外层Grid的两列布局、固定行高、网格间距等已调试好的效果完全不变
  • 单个网格项内的flex布局仅控制容器内部的文字、图片排列,不会和外层Grid布局冲突
  • 文字会自动填充除图片外的所有可用宽度,图片固定在右侧,不会再被挤到文字下方

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 07:03:17