首页 > 文章列表 > CSS Flexbox实现图片与文本的响应式布局技巧

CSS Flexbox实现图片与文本的响应式布局技巧

177 2025-03-23

如何使用 CSS Flexbox 实现图片和文本的响应式布局?

CSS Flexbox 响应式布局:图片与文本的完美结合

构建自适应网页布局,应对不同屏幕尺寸至关重要。本文将演示如何利用 CSS Flexbox 实现一个常见的布局需求:左侧固定尺寸图片,右侧自适应文本内容。 在宽屏设备上,文本占据剩余空间;而在窄屏设备(例如手机)上,图片则显示在文本上方。

挑战:实现屏幕尺寸自适应布局

目标:使用 Flexbox 布局,左侧显示 200x200 像素的图片,右侧显示文本。大屏幕下,文本填充剩余空间;小屏幕下,图片位于文本上方。

之前的尝试(例如 ChatGPT 生成的代码)可能存在问题:布局仅进行等比例缩放,未能根据屏幕尺寸动态调整。

解决方案:巧妙运用视口元数据和媒体查询

关键在于:添加视口元数据和媒体查询。

首先,在 HTML 部分添加视口元数据:

这行代码告诉浏览器,页面宽度应与设备宽度匹配,初始缩放比例为 1.0,确保响应式效果。

其次,调整 CSS 代码,利用媒体查询控制不同屏幕尺寸下的布局:

.container {
  display: flex;
}

.image {
  width: 200px;
  height: 200px;
}

.text {
  flex: 1; /* 占据剩余空间 */
}

@media (max-width: 600px) { /* 针对小屏幕设备 */
  .container {
    flex-direction: column; /* 布局改为垂直方向 */
  }
  .text {
    flex: initial; /* 取消 flex 属性,使文本宽度自适应 */
  }
}

HTML 结构示例:

图片
文本内容

通过以上调整,布局将根据屏幕宽度动态变化。大屏幕下,图片和文本水平排列;小屏幕下,图片位于文本上方,完美适配不同设备。

来源:1742002449