做出餐厅列表页:卡片布局与数据展示
首页做好了。现在做第二个页面——餐厅列表页。
这一关你会学到两件事:怎么做卡片式布局,以及怎么让多个页面之间互相跳转。
卡片布局:互联网最常见的设计模式
打开任何一个内容类网站——大众点评、小红书、豆瓣、Airbnb——你会发现它们都在用同一种布局:卡片网格。
为什么卡片布局这么流行?因为它解决了一个核心问题:如何在有限的屏幕空间里,展示大量内容,同时让用户快速扫描和比较。
每张卡片都是一个独立的信息单元,包含:
- 一张图片(吸引注意力)
- 标题(最重要的信息)
- 几个关键属性(评分、价格、标签)
- 一个行动按钮(引导用户进入详情)
这个结构几乎适用于所有内容类产品:餐厅、商品、文章、视频、房源……
多页面网站的工作原理
在序章里,你做了一个单页面网站(只有 index.html)。真实的网站通常有多个页面,每个页面是一个独立的 HTML 文件。
页面之间通过 链接(<a> 标签) 跳转:
<!-- 从首页跳到列表页 --> <a href="restaurants.html">查看餐厅</a> <!-- 从列表页跳回首页 --> <a href="index.html">返回首页</a>
href 里写的是目标文件的路径。如果两个文件在同一个文件夹里,直接写文件名就行。
第一步:生成餐厅列表页
继续在 food-explorer 项目里,对 AI 说:
帮我创建一个 restaurants.html 文件,这是城市美食探索网站的餐厅列表页: 顶部导航栏: - 左边是网站名称"食探",右边是导航链接:首页 / 餐厅 / 关于 - 导航栏固定在顶部,有轻微的毛玻璃效果 - "餐厅"链接高亮(因为当前就在这个页面) 页面标题区域: - 标题:"发现好餐厅" - 副标题:"精选 200+ 家本地餐厅,真实用户评价" 筛选标签区域: - 一排可点击的标签:全部 / 川菜 / 粤菜 / 日料 / 火锅 / 西餐 - 点击标签时高亮显示(用 JavaScript 实现) 餐厅卡片列表: - 网格布局,桌面端 3 列,平板 2 列,手机 1 列 - 每张卡片包含: - 顶部图片区域(高 200px,用渐变色块代替,每张卡片颜色不同) - 餐厅名称(加粗) - 评分(⭐ 4.8 这样的格式,橙色) - 标签(如:川菜 / 人均 ¥80 / 营业中) - 一句简短描述 - 底部"查看详情"按钮 - 做 6-8 张卡片,餐厅类型多样一些(川菜、粤菜、日料、火锅等) 整体风格和首页保持一致(配色、字体)
第二步:把首页的按钮链接到列表页
现在首页的"开始探索"按钮点了没有反应。对 AI 说:
把 index.html 里"开始探索"按钮的链接改成 restaurants.html。 同时给首页也加上和 restaurants.html 一样的顶部导航栏, 导航栏里"首页"链接高亮。
现在从首页点"开始探索",就能跳到列表页了。
第三步:检查效果并微调
在浏览器里打开 index.html,点击"开始探索",确认能跳到 restaurants.html。
然后看看列表页的卡片效果——如果觉得哪里不满意,直接告诉 AI 调整:
卡片之间的间距太小了,加大一点。 评分的星星颜色太淡,改成更鲜艳的橙色。
理解"响应式布局"
你在 Prompt 里写了"桌面端 3 列,平板 2 列,手机 1 列"——这就是响应式布局的核心思想:根据屏幕宽度,自动调整布局。
这是通过 CSS 的 @media 查询实现的。AI 写的代码里会有类似这样的内容:
/* 默认(手机):1 列 */ .grid { grid-template-columns: 1fr; } /* 平板(768px 以上):2 列 */ @media (min-width: 768px) { .grid { grid-template-columns: repeat(2, 1fr); } } /* 桌面(1024px 以上):3 列 */ @media (min-width: 1024px) { .grid { grid-template-columns: repeat(3, 1fr); } }
你不需要记住这些代码,但理解"响应式 = 根据屏幕宽度调整布局"这个概念,后面会用到。
测试响应式效果:在 Chrome 里按 F12 打开开发者工具,点击左上角的手机图标,可以模拟不同屏幕尺寸,看看你的页面在手机上是什么样子。
导航栏的"当前页高亮"
你注意到 Prompt 里有"'餐厅'链接高亮"这个需求。这是一个很常见的 UI 细节:导航栏里,当前所在页面的链接会有特殊样式(通常是加粗、加下划线或者改变颜色),让用户知道自己在哪里。
这需要在每个页面的 HTML 里手动设置哪个链接是"当前页"。AI 会帮你处理这个细节,但你需要在 Prompt 里明确说明。
通关条件
完成以下三步即可通关:
- 生成餐厅列表页,有 6 张以上卡片
- 首页"开始探索"按钮能跳转到列表页
- 两个页面的导航栏都正常显示
卡住了?
- 卡片在手机上挤在一起?告诉 AI:"手机端卡片挤在一起了,帮我改成单列布局"
- 两个页面风格不统一?告诉 AI:"把两个页面的配色和字体统一一下"
- 点击按钮没有跳转?检查
href里的文件名是否和实际文件名一致(大小写也要一样) - 导航栏在手机上太挤?告诉 AI:"手机端导航栏链接太多了,改成汉堡菜单(点击展开)"
通关条件
完成以下三步即可通关:
- 生成餐厅列表页,有 6 张以上卡片
- 首页"开始探索"按钮能跳转到列表页
- 两个页面的导航栏都正常显示
卡住了?
- 卡片在手机上挤在一起?告诉 AI:"手机端卡片挤在一起了,帮我改成单列布局"
- 两个页面风格不统一?告诉 AI:"把两个页面的配色和字体统一一下"
- 点击按钮没有跳转?检查
href里的文件名是否和实际文件名一致(大小写也要一样) - 导航栏在手机上太挤?告诉 AI:"手机端导航栏链接太多了,改成汉堡菜单(点击展开)"