本节书摘来自异步社区《HTML5开发手册》一书中的第1章,第1.5节,作者: 【美】Chuck Hudson , 【英】Tom Leadbetter 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 初学者“菜谱”:使用nav元素创建导航

顾名思义,nav元素的作用是提供导航。它用于链接到网站内的其他页面,或者是链接到一个页面的其他部分(例如目录)。

nav最常用的用途是作为网站的主导航。很多情况下,开发者都使用无序列表编写导航,如代码1.4所示。

代码1.4 传统的导航编写方式


在HTML5中创建nav元素时,该代码没有太大变化。生成图1.5所示的代码看起来如代码1.5所示。


代码1.5 HTML5中的导航编写方式


https://yqfile.alicdn.com/f5b9cc184fa792d1b01ceb42b219d4a21771b63a.png" >

也可以将nav标记嵌入到header中,如代码1.6所示,原因是header元素中允许出现介绍性内容和导航内容。当然,不是说非要将它放在header中,有时候我们需要根据样式设计而决定它的位置。我们也经常会看到在页面的页脚中放置的导航菜单,这些导航甚至有时和网站主导航一模一样。

代码1.6 位于header元素中的nav元素


没有必要将页面中的所有链接都放置到nav元素中。HTML5规范中警告:只有“主要导航”才适合放置在nav元素中。

在新闻或者博客站点上,经常可以看到带有指向文章或其他页面链接的侧边栏。代码1.7可以用来生成图1.6所示的元素。


代码1.7 在单个nav元素包含多个导航组


https://yqfile.alicdn.com/6a65fd45ff52dc9755fea6dc64c8691a7b92e308.png" >

注意:
这里使用了一个h2标记来分隔nav中的链接组。如图1.6所示,h2标记可用作一个标签(tab)标题。当用户选中一个标题时,内容将会发生切换(该效果可以通过JavaScript来实现)。标题元素虽然不是必需的,但经常会根据需要用来对导航组进行分隔,使导航组的结构看起来更加整洁。出于样式的原因,也可以将前面的示例拆分为两个nav结构。
使用nav元素能够有效地提升可访问性。屏幕阅读器之类的辅助技术能够搜索并立即使用这些导航组,而不需要等待它们全部加载完毕。通常,开发人员喜欢在HTML文档中使用“跳过”或者“跳转”这样的链接。访问页面时,只有点击这种链接才跳转到主导航或者主要内容上。现在,有了nav元素就可以完全抛弃这种方式了。遗憾的是,当今的辅助技术对HTML5元素的支持还非常有限,不过相信这方面能很快得到改善。

《HTML5开发手册》——1.5 初学者“菜谱”:使用nav元素创建导航相关推荐

  1. 《HTML5开发手册》——2.4 初学者“菜谱”:使用address元素提供通信信息

    本节书摘来自异步社区<HTML5开发手册>一书中的第2章,第2.4节,作者: [美]Chuck Hudson , [英]Tom Leadbetter 更多章节内容可以访问云栖社区" ...

  2. 读书笔记:《HTML5开发手册》--figure、time、details、mark

    周日继续读<HTML5开发手册>,并进行Demo练习,今天主要学习四个HTML5新增的元素:figure.time.details.mark. 不学不知道,原来这些平时不注意的元素都有着很 ...

  3. HTML5开发基础与应用

    HTML5简介 HTML5产生背景 在使用HTML5之前,w3c希望用XHTML代替HTML.HTML是一种更加严格,更加规范的HTML代码,要求HTML文档必须是一种XML文档格式.当时的HTML文 ...

  4. JAVA制作网页的软件有哪些,html5开发工具(开发html5网页的软件有哪些)

    html5开发工具 1.SublimeText SublimeText是一个跨渠道的代码编bai辑器,一起支持duWindows.Linux.MacOSX等操作系统,也是HTML和散文zhi先进的文本 ...

  5. 太强了!阿里技术团队重磅开放 《Java 开发手册》(附下载地址)!

    <阿里巴巴 Java 开发手册>的愿景是码出高效,码出质量.它结合作者的开发经验和架构历程,提炼阿里巴巴集团技术团队的集体编程经验和软件设计智慧,浓缩成为立体的编程规范和最佳实践. 从严格 ...

  6. BATZ,一份《Android架构开发手册》就够,已offer

    前言 今年的面试比往年要难得多,各个互联网企业对于Android岗位的要求越来越多,也越来越高,主要是初级岗位已经趋近饱和,但高级岗位又相对来说缺乏,这类的人才偏少,因此作为Android开发人员,我 ...

  7. 《码出高效:Java 开发手册》正式发布,83行代码计划启动

    可爱的Java开发者们,让你们久等了! 9月22日杭州云栖大会,众所期待的新书<码出高效:Java 开发手册>正式发布,并宣布将所有图书收益捐赠于技术公益项目. 本次新书发布,邀请了来自阿 ...

  8. 《码出高效:Java开发手册》背后的故事

    2018年12月22日,由博文视点组织的<码出高效:Java开发手册>作者见面会暨签售仪式在北京举行,InfoQ对书籍作者孤尽(杨冠宝).鸣莎(高海慧)进行了采访,了解了此书出版背后的一些 ...

  9. 让你久等了!《码出高效:Java 开发手册》正式发布

    可爱的Java开发者们,让你们久等了! 9月22日杭州云栖大会,众所期待的新书<码出高效:Java 开发手册>正式发布,并宣布将所有图书收益捐赠于公益项目. 此书从立意到付梓,历时超过两年 ...

最新文章

  1. 主键SQL教程–如何在数据库中定义主键
  2. 深度丨走向人工智能时代,百度的延承和蜕变
  3. 解决VS2015安装Android SDK 后文件不全及更新问题
  4. Spring-Cloud | openfeign使用细节
  5. 股票连续投资历史收益计算
  6. caffe编译出现 libcudart.so.8.0 cannot open shared object file: No such file or directory的错去
  7. linux命令中tar后跟的zxvf是什么意思
  8. python的numpy库结构_NumPy构成了数据科学领域中许多Python库的基础。
  9. 15.卷1(套接字联网API)---Unix域协议
  10. miui android 版本下载安装,MIUI12.2.2.0稳定版安装包
  11. win10计算机策略禁止用户安装,win10系统软件无法安装显示被组策略阻止的操作办法...
  12. Manjaro 常用软件安装
  13. Data Matrix of Zint
  14. 开源生态研究与实践| ChinaOSC
  15. 计算机网络显示正常 但无法上网怎么办,如何解决显示网络已连接但无法上网...
  16. [PTA] 第四章 题解
  17. armbian开启ssh_Armbian Ubuntu启用netplan配置网络
  18. [组件笔记]7.UnityEngine.MonoBehaviour
  19. ESP32 下载与烧录最新固件
  20. 设计模式之SOLID原则

热门文章

  1. mysql读写分离的含义_MySQL 主从复制与读写分离概念及架构分析
  2. Linux守护进程编程编写,linux守护进程编程实例
  3. # 57. 插入区间
  4. 无忧PHP企业网站内容管理系统源码v2.8 标准版
  5. WordPress数据库管理中五个实用的phpMyAdmin技巧
  6. Shell: /dev/null 21详解
  7. php实现url伪静态化,全过程详解
  8. 免费wordpress主题在线生成网站
  9. android 安装内核module,提示Required key not available
  10. Linux——VIM多选缩进及高级命令