第6章 实现网页导航与超链接

链接是互联网的灵魂 | 课型:实习课 | 建议课时:2节

🏠 返回总目录 / 第6章

🎯 学习目标

知识目标

  • 掌握<a>标签的href、target属性
  • 掌握导航栏的语义化结构(nav+ul)
  • 掌握锚点跳转、平滑滚动与面包屑导航

能力目标

  • 能创建多页面网站并实现页面间跳转
  • 能制作美观的横向导航栏
  • 能实现页内锚点定位与平滑滚动

德育目标

  • 培养用户体验意识:导航清晰是对访客的尊重
  • 养成检查死链的严谨习惯

教学重点

  • a标签与href路径
  • 导航栏语义化与样式
  • 锚点#id跳转

教学难点

  • target="_blank"的安全问题(rel="noopener")
  • 锚点定位被固定头部遮挡的处理

💻 实例演示1个实例 · 可在线运行

▶ 导航与锚点体验站

带平滑滚动锚点导航的长页面,点击菜单精准定位到对应章节。

新窗口运行 下载源码

操作步骤

  1. 打开demo1.html,依次点击四个导航项
  2. 观察平滑滚动与sticky吸附效果
  3. 删除scroll-behavior再试,对比"瞬间跳转"
  4. 用开发者工具查看锚点href与section id的对应关系
  5. 尝试将scroll-padding-top改为0,观察标题被遮挡

效果观察点

  • href="#id"与元素id一一对应
  • smooth滚动提升体验
  • sticky导航不占文档流高度却保持可见
查看核心代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>导航与锚点体验站</title>
<style>
  html { scroll-behavior: smooth; scroll-padding-top: 70px; }
  body { font-family: "Microsoft YaHei", sans-serif; margin: 0; color: #1f2a33; }
  nav { position: sticky; top: 0; background: #123a52; padding: 0 20px; }
  nav ul { list-style: none; display: flex; margin: 0; padding: 0; }
  nav a { display: block; color: #fff; text-decoration: none; padding: 16px 20px; transition: background .3s; }
  nav a:hover { background: #0f8c7f; }
  section { max-width: 640px; margin: 0 auto; padding: 60px 20px; min-height: 300px; }
  section:nth-child(odd) { background: #f2f6f8; }
  h2 { color: #0f8c7f; }
</style>
</head>
<body>
  <nav><ul>
    <li><a href="#home">首页</a></li>
    <li><a href="#news">新闻</a></li>
    <li><a href="#about">关于</a></li>
    <li><a href="#contact">联系</a></li>
  </ul></nav>
  <section id="home"><h2>首页</h2><p>点击导航,平滑滚动到对应区域。</p></section>
  <section id="news"><h2>新闻</h2><p>注意滚动是"滑"过来的,不是瞬间跳转。</p></section>
  <section id="about"><h2>关于</h2><p>sticky导航始终吸附在顶部。</p></section>
  <section id="contact"><h2>联系</h2><p>scroll-padding-top 防止内容被导航遮住。</p></section>
</body>
</html>

📋 实习任务书

任务目标:将个人站点升级为三页面+导航栏+锚点目录的完整站点

任务内容与评分
任务1:制作nav>ul>li>a语义化导航栏(25分)
任务2:实现三个页面互相跳转且导航高亮当前页(25分)
任务3:在长页面添加"返回顶部"锚点链接(15分)
任务4:为长文章添加目录锚点并实现平滑滚动(20分)
任务5:为外链添加target与rel="noopener"(15分)

自我评价

📚 课后作业与预习