应选用<table>布局,因其天然行列对齐、无需复杂CSS、兼容性好、语义清晰;表头用<th>保障可访问性与默认样式;数量输入框必须设type="number"和min="1";删除按钮须用<button type="button">避免跳转。

零基础直接写购物车列表排版,重点不是学 HTML 全套,而是用最少、最稳的标签把商品名、价格、数量、删除按钮对齐好,不崩、不乱、能改。
用 <table> 还是 <div>?选 <table> 更省事
新手最容易卡在“怎么让四列内容横着对齐又换行不散架”。<div> + CSS 布局看着灵活,但 display: flex 或 grid 一加 margin/padding 就错位,调试半天不如一行 <tr><td> 直观。购物车本质是数据表格,语义和结构都匹配。
-
<table>自带行列对齐,不用算像素、不用清浮动、不用处理换行塌陷 - 所有浏览器默认渲染一致,连 IE8 都能跑(哪怕你不用兼容它,心里也踏实)
- 后续加“全选”“合计”行,直接插
<tr>,不用重写布局逻辑
<th> 和 <td> 别混用,表头用 <th>,数据用 <td>
很多人复制代码时把所有单元格都写成 <td>,结果表头文字不加粗、居中失效、屏幕阅读器读不出来——这不是样式问题,是语义错了。
-
<th>默认font-weight: bold+text-align: center,不用额外写 CSS - 如果用
<thead><tr><th>商品</th><th>单价</th></tr></thead>,以后加固定表头滚动也方便 - 删掉
<th>改成<td>看似“统一”,实则破坏可访问性,iOS VoiceOver 会跳过识别
数量输入框必须加 type="number" 和 min="1"
手写 <input> 不加属性,用户能输负数、字母、小数,提交后后端校验报错,体验断层。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
立即学习“前端免费学习笔记(深入)”;
-
<input type="number" min="1" value="1">浏览器自带上下箭头,禁输非法字符 - 别信
pattern或 JS 截断——移动端软键盘弹出数字盘,比正则友好十倍 - 注意:Chrome 对
type="number"的 spin button 样式难改,如需美化,优先用 JS 控制值而非覆盖原生 UI
删除按钮别只放个文字,用 <button type="button">
写 <a href="#">删除</a> 最常见,但点击会触发页面跳转(# 锚点滚动)、刷新,或被某些框架当路由处理。
-
<button type="button">删除</button>明确告诉浏览器“不提交、不跳转” - 配合 JS 时,
event.preventDefault()可省,减少冗余逻辑 - 如果用
<input type="button">,value 属性难改文案(比如多语言),<button>内容可自由嵌套图标或 span
真正卡住新手的,从来不是标签不会打,而是没想清楚“这个元素要完成什么动作、被谁操作、失败时怎么反馈”。购物车列表只要撑住四列对齐、输入合法、删除可靠,剩下的颜色、动画、响应式,都是锦上添花的事。


















