语义学(源自古希腊)可定义为对语言意义的研究。

语义元素是拥有语义的元素。

什么是语义元素?

语义元素清楚地向浏览器和开发者描述其意义。

非语义元素的例子:<div> 和 <span> - 无法提供关于其内容的信息。

语义元素的例子:<form>、<table> 以及 <img> - 清晰地定义其内容。

浏览器支持

此外,您可以“帮助”老式浏览器处理“未知元素”。所有现代浏览器均支持 HTML5 语义元素。

在 HTML5 浏览器支持这一章学习更多知识。

HTML5 中新的语义元素

许多网站包含了指示导航、页眉以及页脚的 HTML 代码,例如这些:<div id="nav"> <div class="header"> <div id="footer">。

HTML5 提供了定义页面不同部分的新语义元素:

  • <article>
  • <aside>
  • <details>
  • <figcaption>
  • <figure>
  • <footer>
  • <header>
  • <main>
  • <mark>
  • <nav>
  • <section>
  • <summary>
  • <time>

HTML5 语义元素

HTML5 <section> 元素

<section> 元素定义文档中的节。

根据 W3C 的 HTML 文献:“节(section)是有主题的内容组,通常具有标题”。

可以将网站首页划分为简介、内容、联系信息等节。

实例

<!DOCTYPE html>
<html>
<body><section>
<h1>WWF</h1>
<p>
The World Wide Fund for Nature (WWF) is an international organization working on issues regarding the conservation, research and restoration of the environment, formerly named the World Wildlife Fund. WWF was founded in 1961.
</p>
</section><section>
<h1>WWF's Panda symbol</h1>
<p>
The Panda has become the symbol of WWF. The well-known panda logo of WWF originated from a panda named Chi Chi that was transferred from the Beijing Zoo to the London Zoo in the same year of the establishment of WWF.
</p>
</section></body>
</html>

HTML5 <article> 元素

<article> 元素规定独立的自包含内容。

文档有其自身的意义,并且可以独立于网站其他内容进行阅读。

<article> 元素的应用场景:

  • 论坛
  • 博客
  • 新闻
<!DOCTYPE html>
<html>
<body><article><h1>What Does WWF Do?</h1><p>WWF's mission is to stop the degradation of our planet's natural environment, and build a future in which humans live in harmony with nature.</p>
</article></body>
</html>

嵌套语义元素

在 HTML5 标准中,<article> 元素定义完整的相关元素自包含块。

<section> 元素被定义为相关元素块。

我们能够使用该定义来决定如何嵌套元素吗?不,我们不能!

在因特网上,您会发现 <section> 元素包含 <article> 元素的 HTML 页面,还有 <article> 元素包含 <sections> 元素的页面。

您还会发现 <section> 元素包含 <section> 元素,同时 <article> 元素包含 <article> 元素。

HTML5 <header> 元素

<header> 元素为文档或节规定页眉。

<header> 元素应该被用作介绍性内容的容器。

一个文档中可以有多个 <header> 元素。

下例为一篇文章定义了页眉:

<!DOCTYPE html>
<html>
<body><article>
<header>
<h1>What Does WWF Do?</h1>
<p>WWF's mission:</p>
</header>
<p>WWF's mission is to stop the degradation of our planet's natural environment, and build a future in which humans live in harmony with nature.</p>
</article></body>
</html>

HTML5 <footer> 元素

<footer> 元素为文档或节规定页脚。

<footer> 元素应该提供有关其包含元素的信息。

页脚通常包含文档的作者、版权信息、使用条款链接、联系信息等等。

您可以在一个文档中使用多个 <footer> 元素。

实例

<!DOCTYPE html>
<html>
<body><footer><p>Posted by: Hege Refsnes</p><p>Contact information: <a href="mailto:someone@example.com">someone@example.com</a>.</p>
</footer></body>
</html>

HTML5 <nav> 元素

<nav> 元素定义导航链接集合。

<nav> 元素旨在定义大型的导航链接块。不过,并非文档中所有链接都应该位于 <nav> 元素中!

实例

<!DOCTYPE html>
<html>
<body><nav>
<a href="/html/">HTML</a> |
<a href="/css/">CSS</a> |
<a href="/js/">JavaScript</a> |
<a href="/jquery/">jQuery</a>
</nav></body>
</html>

HTML5 <aside> 元素

<aside> 元素页面主内容之外的某些内容(比如侧栏)。

aside 内容应该与周围内容相关。

实例

<!DOCTYPE html>
<html>
<body><p>My family and I visited The Epcot center this summer.</p><aside>
<h4>Epcot Center</h4>
<p>The Epcot Center is a theme park in Disney World, Florida.</p>
</aside></body>
</html>

HTML5 <figure> 和 <figcaption> 元素

在书籍和报纸中,与图片搭配的标题很常见。

标题(caption)的作用是为图片添加可见的解释。

通过 HTML5,图片和标题能够被组合在 <figure> 元素中:

实例

<!DOCTYPE html>
<html>
<body><p>The Pulpit Rock is a massive cliff 604 metres (1982 feet) above Lysefjorden, opposite the Kjerag plateau, in Forsand, Ryfylke, Norway. The top of the cliff is approximately 25 by 25 metres (82 by 82 feet) square and almost flat, and is a famous tourist attraction in Norway.</p><figure><img src="img_pulpit.jpg" alt="The Pulpit Rock" width="304" height="228"><figcaption>Fig.1 - The Pulpit Rock, Norway.</figcaption>
</figure></body>
</html>

<img> 元素定义图像,<figcaption> 元素定义标题。

为何使用 HTML5 元素?

如果使用 HTML4 的话,开发者会使用他们喜爱的属性名来设置页面元素的样式:

header, top, bottom, footer, menu, navigation, main, container, content, article, sidebar, topnav, ...

如此,浏览器便无法识别正确的网页内容。

而通过 HTML5 元素,比如:<header> <footer> <nav> <section> <article>,此问题迎刃而解。

根据 W3C,语义网:

“允许跨应用程序、企业和团体对数据进行分享和重用。”

HTML5 中的语义元素

下面列出了以字母顺序排列的 HTML5 新语义元素。

这些链接指向完整的 HTML 参考手册。

标签 描述
<article> 定义文章。
<aside> 定义页面内容以外的内容。
<details> 定义用户能够查看或隐藏的额外细节。
<figcaption> 定义 <figure> 元素的标题。
<figure> 规定自包含内容,比如图示、图表、照片、代码清单等。
<footer> 定义文档或节的页脚。
<header> 规定文档或节的页眉。
<main> 规定文档的主内容。
<mark> 定义重要的或强调的文本。
<nav> 定义导航链接。
<section> 定义文档中的节。
<summary> 定义 <details> 元素的可见标题。
<time> 定义日期/时间。

HTML 四十六 HTML5 语义相关推荐

  1. IOS音视频(四十六)离线在线语音识别方案

    IOS音视频(四十六)离线在线语音识别方案 IOS音视频(四十六)离线在线语音识别方案 方案一:Siri语音识别 Siri语音识别简介 Siri语音识别功能类介绍 Siri语音识别功能集成 方案二:百 ...

  2. Python编程基础:第四十六节 super函数Super Function

    第四十六节 super函数Super Function 前言 实践 前言 使用super函数可以在子类中直接调用父类的方法.通常情况下,我们会将一些通用的属性或方法定义在父类中,子类可以直接使用父类中 ...

  3. OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算

    OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...

  4. 四十六、深入Java的网络编程(下篇)

    @Author:Runsen @Date:2020/6/9 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  5. oracle过滤器基础,Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程...

    Oracle培训(四十六)--Servlet第六章知识点总结--过滤器编程 目标 编写一个过滤器 部署一个过滤器 了解请求和响应包装器 在请求分发器下的过滤器 知识点预览 过滤器 过滤器 1. 什么是 ...

  6. [系统安全] 四十六.Powershell恶意代码检测系列 (1)Powershell基础入门及管道和变量的用法

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  7. pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  8. NeHe OpenGL第四十六课:全屏反走样

    NeHe OpenGL第四十六课:全屏反走样 全屏反走样 当今显卡的强大功能,你几乎什么都不用做,只需要在创建窗口的时候该一个数据.看看吧,驱动程序为你做完了一切.   在图形的绘制中,直线的走样是非 ...

  9. 第四十六章:SpringBoot RabbitMQ完成消息延迟消费

    在2018-3-1日SpringBoot官方发版了2.0.0.RELEASE最新版本,新版本完全基于Spring5.0来构建,JDK最低支持也从原来的1.6也改成了1.8,不再兼容1.8以下的版本,更 ...

最新文章

  1. 人工智能的影响调查_调查报告|文科大学生群体对于人工智能影响 就业的认知程度:基于访谈的质性研究...
  2. web_reverse_proxy -- haproxy
  3. Spring3向Spring4升级过程中quartz修改
  4. matlab空格会消失了,如何在Matlab中自动删除保存的尾随空格?
  5. 传统Web应用案例(采用服务端渲染)
  6. JAVA学生信息管理系统IO流版
  7. Algs4-1.4.14 4-sum
  8. Python数据分析扩展库pandas的DataFrame排序方法小结
  9. cmd echo写入shell_渗透技巧——通过cmd上传文件的N种方法
  10. R语言编程基础(2)
  11. 句句真研—每日长难句打卡Day8
  12. Mybatis的复习
  13. 小程序按钮调用扫一扫_他在一个小程序“按钮”上动了个手脚,生意大火,赢得美人归!...
  14. 【codevs3290】华容道
  15. java 设置系统参数_Java设置系统参数和运行参数
  16. 防范蠕虫式勒索软件病毒***的安全预警通告
  17. 英文 WINDOWS XP 专业 精简版
  18. 剥丝抽茧|阿里面试题解读:MQ消费端遇到瓶颈该怎么办?
  19. 实现加入购物车的功能
  20. Protobuf报错CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):

热门文章

  1. 北京理工大学大学计算机mooc答案,C语言程序设计—北京理工大学MOOC提交作业
  2. RHCS+Conga+iSCSI+CLVM+GFS实现Web服务的共享存储HA集群
  3. 【已解决】关于Mac上的Genymotion模拟器的几个问题
  4. 自刷新Token——前端部分
  5. matlab实践作业,matlab高等工程数学作业-实践报告
  6. Python之文件 打开与关闭
  7. 3D查找表(3D LUT)说明
  8. image adaptive 3dlut based on deep learning
  9. [NOIP1998 普及组] 幂次方
  10. 一行代码实现网页整体变成黑白色