讲师中心 微信公众号
AI工具推荐 视频效率加速

css布局实战_使用Flexbox制作一个灵活的商品展示板

星明大大_7783

星明大大_7783

发布时间:2026-01-16 15:01:02

|

844人浏览过

|

来源于php中文网

原创

Flexbox容器必须设display: flex或inline-flex;商品展示板需设flex-wrap和gap;子项用flex而非width控制宽度;卡片内部用column方向+margin-top: auto钉住价格;响应式需配合min-width和断点。

css布局实战_使用flexbox制作一个灵活的商品展示板

Flexbox容器必须设为display: flex或display: inline-flex

很多初学者写完.grid类后直接加flex-direction,但忘了声明display属性,导致所有Flex属性完全不生效。浏览器会把它当普通块元素处理。

商品展示板的根容器(比如.product-grid)必须显式设置:

.product-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

gap比用margin更可靠——它不会在容器边缘产生额外空白,也不受box-sizing干扰。老项目若需兼容IE11,得退回到margin + calc()方案,但现在基本可忽略。

子项宽度要用flex而非width控制

给每个商品卡片(.product-card)设width: 25%看似能实现四列,但一旦内容撑开或屏幕变窄,就会溢出或换行错乱。Flex的响应逻辑依赖flex简写属性。

立即学习“前端免费学习笔记(深入)”;

推荐写法(适配常见断点):

CSS婚礼策划服务机构宣传网站模板
CSS婚礼策划服务机构宣传网站模板

CSS婚礼策划服务机构宣传网站模板是一款适合提供婚礼策划和婚庆服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载
  • 桌面端:每行4个 → flex: 0 0 calc(25% - 12px)(减去gap均摊值)
  • 平板端(768px起):每行2个 → flex: 0 0 calc(50% - 8px)
  • 手机端:单列 → flex: 0 0 100%

注意flex: 0 0 ...中第一个0禁用伸缩,第二个0禁用收缩,确保宽度严格按计算值执行,不受内容长度影响。

卡片内部用flex-direction: column对齐图文

商品图、标题、价格常需要顶部对齐+底部价格钉住,纯Flex横向布局没法解决垂直方向的“贴底”需求。这时候要在卡片内部再启一层Flex:

.product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
<p>.product-card img {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
}</p><p>.product-card .price {
margin-top: auto;
font-weight: bold;
}

margin-top: auto是关键——它把.price推到剩余空间底部。前提是父容器有明确高度(如height: 100%)且flex-direction: column已启用。没设height时,卡片高度由内容撑开,auto就无效。

响应式断点要配合flex-wrap和min-width

单纯靠@media改flex值还不够。小屏下如果卡片min-width太小(比如图片压缩失真),或太大(导致单行只能塞1个却强行撑两行),都会破坏体验。

建议组合使用:

  • 给.product-card设min-width: 280px(保障图片可读)
  • 在@media (max-width: 767px)里把flex-wrap保持为wrap,同时把flex设为0 0 100%
  • 避免在flex中写死px值,全部用百分比或calc()

真正容易被忽略的是:当用户旋转手机(从竖屏切横屏),某些安卓浏览器会触发两次resize事件,导致gap或flex值短暂错乱。加一句will-change: transform到容器上能缓解重绘抖动。

热门AI工具

更多
讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
margin在css中是啥意思
margin在css中是啥意思

在CSS中,margin是一个用于设置元素外边距的属性。想了解更多margin的相关内容,可以阅读本专题下面的文章。

857

2023.12.18

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

9217

2023.06.14

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

40

2026.10.08

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

140

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

120

2026.09.30

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

100

2026.09.30

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

100

2026.09.30

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

120

2026.09.29

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

320

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.5万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 5.9万人学习

CSS教程
CSS教程

共754课时 | 96.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn