简介:这份资源面向网页设计初学者与前端入门学习者,围绕“三个页面”的搭建需求,提供文字排版、图片展示与超链接跳转的完整实现示例,帮助读者理解多页面结构组织与基础交互逻辑。压缩包共8个文件,约176KB,以3个html页面文件为核心,配合4个webp与1个jpg图片素材,可直接用于页面内容填充与效果预览,省去自行搜集配图的步骤。资源内容涉及HTML文档结构、段落与标题标签、img图片引用、a标签超链接及锚点跳转,并包含CSS选择器对背景色、字号与链接颜色的样式控制,适合作为课堂练习或自学练手项目。目前已有4972人学习下载,读者可借此掌握页面间跳转与图文混排的基本方法,并在此基础上扩展响应式布局与动态交互效果。
1. 三个静态页面的最小闭环:从零把文字、图片、超链接串起来
很多人学网页设计,卡在第一个坎上:标签背了一堆,真给一个「做三个能互相跳转的页面」的任务,打开编辑器却不知道从哪下手。这个资源包解决的正是这个场景——它用三个静态页面把文字排版、图片引用、超链接跳转这三件事串成一个完整闭环,不依赖任何框架和构建工具,浏览器双击就能跑。适合刚接触 web 的前端新手、需要交课程作业的学生,以及想快速回顾 HTML 基础的老手。你拿到手后要做的不是通读代码,而是先跑起来看效果,再逐个文件拆开改,改坏了再对照原版恢复。整个过程涉及的核心知识点就三个:块级与行内标签的嵌套关系、相对路径的写法、<a>标签的跳转目标配置。把这三个吃透,后面学 CSS 和 JavaScript 才有落脚点。
2. 三个页面的文件结构:目录怎么摆、路径怎么写才不翻车
2.1 为什么是三个页面而不是一个
单页面只能验证标签语法,验证不了「跳转」这件事。三个页面构成一个最小导航闭环:首页放导航入口,列表页放内容索引,详情页放具体内容,任意两页之间都能通过超链接互相到达。这个结构刚好覆盖了实际项目里最常见的页面关系——首页到栏目页、栏目页到内容页、内容页返回首页。文件数量控制在三个,是为了让你把注意力放在路径和跳转逻辑上,而不是被文件管理分散精力。
常见的目录摆法有两种:平铺式和分层式。平铺式就是三个 HTML 文件放在同一层,图片统一放images文件夹;分层式是按页面建子目录,每个目录里放自己的资源和index.html。新手建议先用平铺式,路径关系简单,出错了容易定位。分层式等到页面数量超过五个再考虑,否则光是数../的层数就能把人绕晕。
2.2 目录结构与相对路径对照
下面是我一般会用的平铺式结构,直接照着建就行:
project/ ├── index.html # 首页,导航入口 ├── list.html # 列表页,内容索引 ├── detail.html # 详情页,具体内容 └── images/ ├── banner.jpg # 首页横幅 ├── thumb1.jpg # 列表缩略图 └── thumb2.jpg # 详情配图路径写法的核心规则只有一条:以当前 HTML 文件所在位置为起点。index.html和images同级,所以引用图片写images/banner.jpg;如果哪天把list.html挪进pages/子目录,引用同一张图就得写成../images/banner.jpg。这个..就是「上一级」,多一层目录就多一个..。
| 场景 | 写法 | 说明 |
|---|---|---|
| 同目录文件互跳 | href="list.html" | 直接写文件名 |
| 引用子目录图片 | src="images/banner.jpg" | 从当前文件往下找 |
| 引用上级目录资源 | src="../images/banner.jpg" | 一个..退一级 |
| 跳转到外部站点 | href="https://example.com" | 必须带协议头 |
注意:路径里的斜杠统一用正斜杠
/,不要用 Windows 的反斜杠\,否则部署到服务器上会 404。
2.3 三个页面的骨架代码
先看首页index.html,它承担导航入口的角色:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>首页 - 导航入口</title> </head> <body> <h1>欢迎来到首页</h1> <!-- 横幅图片,路径从当前文件出发 --> <img src="images/banner.jpg" alt="首页横幅" width="600"> <p>这里是三个页面的导航中心,点击下方链接可以跳转到其他页面。</p> <!-- 超链接:跳转到列表页和详情页 --> <a href="list.html">前往列表页</a> <a href="detail.html">前往详情页</a> </body> </html>列表页list.html放内容索引,用无序列表组织多个条目,每个条目配一张缩略图和跳转链接:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>列表页 - 内容索引</title> </head> <body> <h1>内容列表</h1> <ul> <li> <img src="images/thumb1.jpg" alt="条目一缩略图" width="120"> <a href="detail.html">查看条目一详情</a> </li> <li> <img src="images/thumb2.jpg" alt="条目二缩略图" width="120"> <a href="detail.html">查看条目二详情</a> </li> </ul> <!-- 返回首页 --> <a href="index.html">返回首页</a> </body> </html>详情页detail.html放具体内容,重点是提供返回路径:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>详情页 - 具体内容</title> </head> <body> <h1>条目详情</h1> <img src="images/thumb2.jpg" alt="详情配图" width="400"> <p>这里是条目的详细描述文字,用于验证文字排版效果。</p> <!-- 返回列表页和首页 --> <a href="list.html">返回列表页</a> <a href="index.html">返回首页</a> </body> </html>三段代码的逻辑是一致的:<head>里声明字符集和标题,<body>里先放内容再放导航链接。<img>的src指向图片路径,alt是图片加载失败时的替代文字,width控制显示宽度。<a>的href指向目标页面,写相对路径时只写文件名,写外部链接时必须带https://。参数上唯一需要留意的是width,不写就按图片原始尺寸显示,写了就按指定像素缩放,高度会自动等比。
3. 超链接跳转的四种写法:从同页锚点到新窗口打开
3.1 相对路径跳转与绝对路径跳转的区别
超链接的href属性决定了「点了之后去哪」。最常见的两种写法是相对路径和绝对路径。相对路径以当前文件为起点,比如href="list.html",适合站内页面互跳;绝对路径从根目录或协议头写起,比如href="/pages/list.html"或href="https://example.com/list.html",适合跨目录或跨站点跳转。
新手最容易翻车的地方是:本地测试用相对路径没问题,一部署到服务器就 404。原因通常是本地文件系统和服务器目录结构不一致,或者路径里混用了反斜杠。我的习惯是站内跳转一律用相对路径,跨站点才用绝对路径,这样迁移目录时只需要改文件位置,不用改链接。
3.2 新窗口打开与锚点跳转
默认情况下,点击链接会在当前窗口打开目标页面。如果希望保留当前页面,加一个target="_blank"就行:
<!-- 新窗口打开列表页 --> <a href="list.html" target="_blank">新窗口打开列表页</a> <!-- 跳转到当前页面的指定位置 --> <a href="#section2">跳到第二节</a> ... <h2 id="section2">第二节</h2>target="_blank"的坑在于:部分浏览器会把它当成新标签页,部分会当成新窗口,行为不完全一致。更稳妥的做法是配合rel="noopener"使用,避免新页面通过window.opener反向操作原页面。锚点跳转则依赖id属性,href="#section2"会滚动到id="section2"的元素位置,这个技巧在长文档里特别实用。
3.3 图片超链接与热区
图片也能当链接用,把<img>套在<a>里就行:
<!-- 点击图片跳转到详情页 --> <a href="detail.html"> <img src="images/thumb1.jpg" alt="点击查看详情" width="200"> </a>这种写法在电商列表页、相册导航里很常见。需要注意的是,图片作为链接时,alt文字要写清楚「点击后会去哪」,而不是描述图片内容,因为屏幕阅读器会把alt当作链接文字读出来。如果一张图里要划分多个可点击区域,那就得用<map>和<area>做热区,但那个属于进阶用法,三个页面的练习里用不上。
3.4 跳转目标的选择策略
| 跳转类型 | 写法 | 适用场景 |
|---|---|---|
| 站内相对跳转 | href="list.html" | 同目录页面互跳 |
| 站内绝对跳转 | href="/pages/list.html" | 跨目录、结构固定 |
| 外部站点跳转 | href="https://example.com" | 跳转到其他网站 |
| 新窗口打开 | target="_blank" rel="noopener" | 保留当前页 |
| 锚点跳转 | href="#id名" | 页内定位 |
| 图片链接 | <a><img></a> | 图片作为入口 |
选哪种写法,取决于页面关系和部署环境。本地练习阶段,相对路径足够用;一旦涉及多级目录或部署上线,就要提前规划好路径策略,否则后期改链接会改到怀疑人生。
4. 图片引用的三个隐形坑:路径、格式与加载失败
4.1 路径大小写与中文文件名
图片加载不出来,九成是路径问题。第一类坑是大小写:images/Banner.jpg和images/banner.jpg在 Windows 上可能都能找到,但部署到 Linux 服务器上就是两个不同的文件,一个能加载一个 404。第二类坑是中文文件名:图片/banner.jpg在部分服务器上会因为编码问题变成乱码路径,导致图片加载失败。我的习惯是图片目录和文件名全部用小写英文加短横线,比如images/banner-home.jpg,从源头避开这两类问题。
4.2 图片格式选择与体积控制
格式选错也会翻车。JPG 适合照片类图片,PNG 适合带透明通道的图标和截图,GIF 适合简单动图,WebP 压缩率更高但老浏览器兼容性差一些。三个页面的练习里,横幅用 JPG,缩略图用 JPG 或 PNG 都行,重点是控制体积——单张图片超过 500KB 就该压缩了,否则页面加载会明显变慢。
<!-- 推荐写法:指定宽高,避免布局抖动 --> <img src="images/banner.jpg" alt="首页横幅" width="600" height="300"> <!-- 不推荐:不写宽高,图片加载后页面会跳一下 --> <img src="images/banner.jpg" alt="首页横幅">指定width和height的好处是:浏览器在图片加载完成前就预留好位置,不会出现内容突然下移的「布局抖动」。如果只写width,高度会自动等比缩放,但前提是图片本身比例正常。
4.3 图片加载失败的排查顺序
图片不显示时,按这个顺序排查:先看路径拼写,再看文件是否存在,然后看文件名大小写,最后看浏览器控制台报什么错。控制台里如果报404 (Not Found),就是路径问题;如果报ERR_FILE_NOT_FOUND,通常是文件根本没放在指定位置。还有一个隐蔽的坑:图片文件本身损坏,浏览器会显示一个破碎图标,这种情况换一张图就能确认。
提示:在浏览器里按 F12 打开开发者工具,切到 Network 面板刷新页面,所有加载失败的资源会标红,点进去能看到具体请求路径和状态码,比盲猜快得多。
5. 避坑与排查:三个页面跳转最常见的五类问题
5.1 点击链接没反应或跳到错误页面
现象:点击<a>标签后页面没变化,或者跳到了一个不存在的页面。原因:href写成了herf或hraf,或者路径拼写错误,或者目标文件根本不存在。解决:先检查属性名拼写,再在浏览器地址栏手动输入目标路径看能否打开,打不开就是文件位置或文件名有问题。
5.2 图片显示为破碎图标
现象:页面布局正常,但图片位置显示一个破碎图标或空白。原因:src路径错误、文件名大小写不匹配、图片文件损坏、或者图片格式不被浏览器支持。解决:在 Network 面板看请求状态码,404 就改路径,200 但显示异常就换图片格式或重新导出图片。
5.3 中文乱码
现象:页面文字显示为乱码,尤其是标题和段落。原因:HTML 文件保存编码和<meta charset>声明不一致,常见的是文件存成了 GBK 但声明写 UTF-8。解决:把<meta charset="UTF-8">放在<head>第一行,编辑器里统一用 UTF-8 无 BOM 格式保存。
5.4 新窗口打开后原页面被篡改
现象:用target="_blank"打开新页面后,原页面被跳转或修改。原因:新页面通过window.opener拿到了原页面的控制权。解决:给所有target="_blank"的链接加上rel="noopener",切断两个页面之间的引用关系。
5.5 本地正常部署后 404
现象:本地双击 HTML 文件一切正常,上传到服务器后图片和链接全部失效。原因:本地用的是绝对文件路径或反斜杠,服务器不认;或者目录结构没同步上传。解决:统一用相对路径和正斜杠,上传后核对服务器目录结构和本地是否一致。
6. 从三个页面到可维护结构:验证方法与一个习惯
三个页面跑通之后,怎么确认自己真的掌握了而不是碰巧跑通?我一般会用三个验证动作:第一,把list.html挪进新建的pages/子目录,看哪些路径需要改、改完能不能正常跳转;第二,把图片换成 WebP 格式,看浏览器兼容性和加载速度变化;第三,在手机上打开页面,看没有写viewport的情况下布局会乱成什么样。这三个动作分别验证路径理解、格式选型和响应式缺口,做完基本就知道自己哪块是虚的。
<!-- 加上 viewport 后,移动端会按设备宽度渲染 --> <meta name="viewport" content="width=device-width, initial-scale=1.0">这行代码不加上,移动端浏览器会默认按 980px 宽度渲染再缩放,字小到看不清。加上之后,页面宽度跟随设备,配合百分比宽度或max-width就能做出最基本的自适应效果。三个页面的练习里不要求做完整响应式,但至少要知道这个标签的存在和作用。
| 验证动作 | 检查目标 | 预期结果 |
|---|---|---|
| 移动文件到子目录 | 相对路径理解 | 改完../后跳转正常 |
| 替换图片格式 | 格式兼容性 | WebP 在主流浏览器正常显示 |
| 手机打开页面 | 响应式缺口 | 不加 viewport 时字极小 |
| 断网后刷新 | 资源依赖 | 本地资源正常,外部资源失效 |
还有一个习惯值得从第一天就养成:每改完一个文件,先在浏览器里刷新看效果,再继续改下一个。我见过太多人一口气改完三个文件再刷新,结果页面全乱,根本不知道是哪一步改坏的。从那以后我每次动 HTML 结构或路径,都强制走一遍「改一个、刷一次、确认无误再动下一个」的流程,返工率直线下降。希望帮到你。
本文还有配套的精品资源,点击获取