最简可用HTML结构为仅用包裹内容,内部按需放(必带alt及宽高属性)、、;四行CSS:.card{width:300px;padding:16px;background:#fff;border-radius:8px;}。

直接用 别套语义标签(比如 纯空 如果目标是「小屏单列 → 中屏双列 → 大屏三列」,优先选 Grid;如果还要兼容 IE11 或需要某张卡跨行,退回 Flex。 很多人加了 真正卡住人的不是“怎么画一张卡片”,而是“怎么让整组卡片在不同宽度下都保持间距一致、文字不破框、图片不变形、悬停不闪跳”。这些细节不提前处理,后期调试会花掉远超初始编码的时间。怎么写最简可用的 HTML 结构
)或多余 wrapper,除非你真要被搜索引擎深度索引或嵌入第三方系统。日常个人页/临时展示页,干净结构后期改得快:、、 必须带 alt 属性;哪怕只是占位,也建议加 width 和 height(如 width="300" style="max-width:90%"),防 CLS 偏移background-image 填图——无法懒加载、无 alt、打印不显示、无障碍支持差四行 CSS 让卡片“立住”
.card {
width: 300px;
padding: 16px;
background: #fff;
border-radius: 8px;
}
border 不设 background?浅灰边框在白底页面里大概率“消失”width 或 max-width?卡片可能撑满整行,尤其父容器是 flex 或 grid 时img { width: 100%; height: auto; display: block; }
多卡片并排,用 Flex 还是 Grid?
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem;
display: flex; flex-wrap: wrap; gap: 1rem; + 单卡 flex: 0 0 calc(33.333% - 0.666rem);(三列,gap=1rem)float:高度不一致时换行错位,调试成本高到放弃width 或 max-width?Flex/Grid 容器可能无限拉伸,导致卡片过宽响应式和文字截断最容易漏的点
width: 300px 就以为完成了,结果小屏上文字溢出、图片拉伸、卡片堆叠错位。
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 单行截断,比 -webkit-line-clamp 兼容性更稳height,靠 padding 控制呼吸感,留触控余量@media (max-width: 767px) { .card-grid { grid-template-columns: 1fr; } }
margin-top: -2px 或 top: -2px——触发重排,低配设备明显卡顿;改用 transform: translateY(-2px)
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











