HTML5 语义标签使用详解

在 HTML5 出来之前,我们用 div 来表示页面章节,但是这些 div 都没有实际意义。(即使我们用 css 样式的 id 和 class 来形容这块内容的意义)。这些标签只是我们提供给浏览器的指令,只是定义一个网页的某些部分。但现在,那些之前没“意义”的标签因为 html5 的出现而消失了,这就是我们平时所说的“语义”。

如上图那个页面结构没有使用一个 div,都是采用 html5 语义标签(用哪些标签,关键取决于你的设计目标)。但是也不要因为 html5 新标签的出现,而随意用之,错误的使用肯定会事与愿违。所以有些地方还是要用 div 的,就是因为 div 没有任何意义的元素,他只是一个标签,仅仅是用来构建外观和结构。因此是最适合做容器的标签。
W3C 定义了这些语义标签,不可能完全符合我们有时的设计目标,就像制定出来的法律不可能流传 100 年都不改变,更何况它才制定没多久,不可能这些语义标签对所以设计目标的适应。只是一定程度上的“通用”,我们的目标是让爬虫读懂重要的东西就够了。

结论:不能因为有了 HTML5 标签就弃用了 div,每个事物都有它独有的作用。

header 元素header 元素代表“网页”或“section”的页眉;通常包含 h1-h6 元素或 hgroup,作为整个页面或者一个内容块的标题,也可以包裹一个目录部分,一个搜索框,一个 nav,或者任何相关 logo;整个页面没有限制 header 元素的个数,可以拥有多个,可以为每个内容块增加一个 header 元素;

header 示例代码:

<header>

<hgroup>
<h1>网站标题</h1>
<h2>网站副标题</h2>
</hgroup>

</header></font></font>

header 使用注意:

  • 可以是“网页”或任意“section”的头部部分;
  • 没有个数限制;
  • 如果 hgroup 或 h1-h6 自己就能工作的很好,那就不要用 header;

section 元素section 元素代表文档中的“节”或“段”,“段”可以是指一篇文章里按照主题的分段;“节”可以是指一个页面里的分组;section 通常还带标题,虽然 html5 中 section 会自动给标题 h1-h6 降级,但是最好手动给他们降级;

section 示例代码:

<section>

<h1>什么是 section</h1>

<article>

<h2>关于 section</h2>
<p>section 的介绍</p>

<section>
<h3>关于其他</h3>
<p>关于其他 section 的介绍</p>
</section>

</article>

</section>

section 使用注意:

  • 表示文档中的节或者段;
  • article、nav、aside 可以理解为特殊的 section,所以如果可以用 article、nav、aside 就不要用 section,没实际意义的就用 div;

article 元素
article 元素最容易跟 section 和 div 容易混淆,其实 article 代表一个文档、页面或者网站中自成一体的内容,其目的是为了让开发者独立开发或重用。譬如论坛的帖子,博客上的文章,一篇用户的评论,一个互动的 widget 小工具。(特殊的 section)除了它的内容,article 会有一个标题(通常会在 header 里),会有一个 footer 页脚。我们举几个例子介绍一下 article,好更好区分 article、section、div;

一篇简单文章的 article 示例代码:

<article>

<header>
<h1>文章标题</h1>
</header>

<p>文章内容..</p>

<footer>
<p>版权:cssue.com</p>
</footer>

</article>

上例是最简单的 article 标签使用情况,如果在 article 内部再嵌套 article,那就代表内嵌的 article 是与它外部的内容有关联的,如博客文章下面的评论;

文章里的评论,一个 article 里嵌套 article 的示例代码:

<article>

<header>
<h1>文章标题</h1>
<time datetime="2012-12-06">2012/12/06</time>
</header>

<p>文章内容..</p>

<article>

<h2>评论</h2>

<article>
<header>
<h3>评论者: XXX</h3>
<time datetime="2012-12-06T19:10">~1 hour ago</time>
</header>
<p>娃哈哈..</p>
</article>

<article>
<header>
<h3>评论者: XXX</h3>
<time datetime="2012-12-06T19:10">~1 hour ago</time>
</header>
<p>哈哈哈哈...</p>
</article>

</article>

</article>

article 内部嵌套 article,有可能是评论或其他跟文章有关联的内容。那 article 内部嵌套 section 一般是什么情况呢。如下:

文章里的章节,一个 article 里嵌套 section 的示例代码:

<article>

<h1>前端技术</h1>
<p>前端技术有那些</p>

<section>
<h2>HTML</h2>
<p>标签..</p>
</section>

<section>
<h2>CSS</h2>
<p>样式..</p>
</section>

<section>
<h2>JS</h2>
<p>脚本..</p>
</section>

</article>

因为文章内 section 部分虽然也是独立的部分,但是它门只能算是组成整体的一部分,从属关系,article 是大主体,section 是构成这个大主体的一部分。本网站的全部文章都是 article 嵌套一个个 section 章节,这样能让浏览器更容易区分各个章节所包括的内容。

那 section 内部嵌套 article 又有哪些情况呢,如下:
一个 section 里嵌套 article 的示例代码:

<section>

<h1>介绍网站制作成员配备</h1>

<article>
<h2>设计师</h2>
<p>设计网页的...</p>
</article>

<article>
<h2>程序员</h2>
<p>编写程序的..</p>
</article>

<article>
<h2>前端工程师</h2>
<p>给楼上两位打杂的..</p>
</article>

</section>

设计师、程序员、前端工程师都是一个独立的整体,他们组成了网站制作基本配备,当然还有其他成员~~。设计师、程序员、前端工程师就像 article,是一个个独立的整体,而 section 将这些自成一体的 article 包裹,就组成了一个团体,更多内容见网页设计培训
article 和 section 的例子就例举这么多了,具体情况具体分析,不易深究。漏了 div,其实 div 就是只是想用来把元素组合或者给它们加样式时使用。

article 使用注意:

  • 自身独立的情况下:使用 article;
  • 是相关内容:使用 section;
  • 没有语义的:使用 div;

nav 元素nav 元素代表页面的导航链接区域。用于定义页面的主要导航部分。
nav 示例代码:

<nav>
<ul>
<li>HTML5</li>
<li>CSS3</li>
<li>JavaScript</li>
</ul>
</nav>

但是我在有些时候却情不自禁的想用它,譬如:侧边栏上的目录,面包屑导航,或者上一篇下一篇文章,但是事实上规范上说 nav 只能用在页面主要导航部分上。页脚区域中的链接列表,虽然指向不同网站的不同区域,譬如服务条款,版权页等,这些 footer 元素就能够用了。

nav 使用注意:

  • 用在整个页面的主要导航部分上,不合适就不要用 nav 元素;

aside 元素aside 元素标签用来表示当前页面或文章的附属信息部分,可以包含与当前页面或主要内容相关的引用、侧边栏、广告、nav 元素组,以及其他类似的有别与主要内容的部分。

<article>

<h1>前端技术</h1>
<p>前端技术包括:HTML、CSS、JavaScript等...</p>

<aside>
<dl>
<dt>HTML</dt>
<dd>HTML 是用于描述网页文档的一种超文本标记语言。</dd>
</dl>
</aside>

</article>

aside 使用注意:

  • 被包含在 article 元素中作为主要内容的附属信息部分,其中的内容可以是与当前文章有关的引用、词汇列表等。
  • 在 article 之外使用,作为页面或站点全局的附属信息部分;最典型的形式是侧边栏(sidebar),其中的内容可以是友情链接、附属导航或广告单元等。

footer 元素footer 元素代表“网页”或“section”的页脚,通常含有该节的一些基本信息,譬如:作者,相关文档链接,版权资料。如果 footer 元素包含了整个节,那么它们就代表附录,索引,提拔,许可协议,标签,类别等一些其他类似信息。
footer 示例代码:

<footer>
<p>版权:cssue.com</p>
</footer>

footer 使用注意:

  • 可以是“网页”或任意“section”的底部部分;
  • 没有个数限制,除了包裹的内容不一样,其他跟 header 类似。
时间: 2024-10-23 19:04:50

HTML5 语义标签使用详解的相关文章

当里个当,免费的HTML5连载来了《HTML5网页开发实例详解》连载(一)

读懂<HTML5网页开发实例详解>这本书 你还在用Flash嘛?帮主早不用了 乔布斯生前在公开信<Flash之我见>中预言:像HTML 5这样在移动时代中创立的新标准,将会在移动设备上获得胜利. --国际巨头Google.苹果等都支持HTML 5标准,要不要学,你看着办! BAT三巨头都偷偷用上HTML 5了 HTML 5目前在国内的发展达到了空前的高度,以BAT三大巨头互联网公司为例,他们都已经争先恐后地将HTML 5的新技术融入到现实的开发领域中了.本书的例子会涉及WebQQ.

免费的HTML5连载来了《HTML5网页开发实例详解》连载(三)DOCTYPE和字符集

在2.1.2节中通过新老DOCTYPE的对比,读者可以清晰地看到HTML 5在精简旧有结构上做出的努力.DOCTYPE在出现之初主要用于XML中,用作描述XML允许使用的元素.属性和排列方式.起初HTML借鉴了XML中DOCTYPE的使用方法,并赋予了新用法,如大家熟知的触发浏览器的标准模式.假使在制作一张页面时,没有设定DOCTYPE,则浏览器会以怪异模式状态进行处理(即Quirks模式),该模式与标准模式在盒模型.样式.布局等都存在较大差异.因此,DOCTYPE在制作页面时是不可或缺的部分.

免费的HTML5连载来了《HTML5网页开发实例详解》连载(五)图解通过Fiddler加速开发

Fiddler是Windows底下最强大的请求代理调试工具,监控任何浏览器的HTTP/HTTPS流量,窜改客户端请求和服务器响应,解密HTTPS Web会话,图4.44为Fiddler原理示意图. 图4.44  Fiddler原理示意图 Fiddler安装的系统要求为Windows XP或Windows 8中的版本,其中Fiddler2依赖于Microsoft.NET Framework 2.0,最新的Fiddler4依赖于Microsoft.NET Framework 4.0. Fiddler

Struts标签库详解【3】

struts2标签库详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri="/struts-tags" %> If elseif  else 描述: 执行基本的条件流转. 参数: 名称 必需 默认 类型 描述 备注 test 是 boolean 决定标志里的内容是否显示的表达式 else标志没有这个参数 id 否 Object/String 用来标识元素的

meta标签之详解

meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <head><meta http-equiv="content-Type" content="text/html; charset=gb2312"></head> 也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,例如加入关键字会自动被大型搜索网站自动搜集:可以设定页面格式及刷新等等.

标签知识详解

不干胶也叫自粘标签材料,是以纸张.薄膜或特种材料为面料,背面涂有胶粘剂,以涂硅保护纸为底纸的一种复合材料.由于涂布技术有多种,致使不干胶材料形成有不同档次,目前的发展方向是由传统的辊式涂布.刮刀涂布向高压流延涂布方向发展,以最大限度保证涂布的均匀感性,避免气泡和针眼的产生,保证涂布质量,而流延布涂布在国内技术还未成熟,国内主要采用的是传统辊式涂布.  条码机常用的不干胶标签由底纸.面纸及作为两者粘合的粘胶剂三部分组成.底纸表面呈油性,对粘胶剂具有隔离作用,所以用作面纸的附着体,以便面纸能够很容易

iframe标签用法详解(属性、透明、自适应高度)(总结)

<iframe src="http://www.jb51.net" width="200" height="500"> 脚本之家使用了框架技术,但是您的浏览器不支持框架,请升级您的浏览器以便正常访问脚本之家. </iframe> 在transparentBody.htm文件的<body>标签中,我已经加入了style="background-color=transparent" 通过以下四种

免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询

响应式设计的另一个重要技术手段是媒体查询.如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应式设计.媒体查询可以来解决这一问题.媒体查询可以为特定的浏览器和设备提供特定的样式.媒体查询是CSS 3的一个新特性,是对媒体类型的扩展. 提示:W3C列出了10种媒体类型,请参考http://www.w3.org/TR/CSS2/media.html#media-types. 在响应式设计中,媒体

表格标签的详解

表格标记 表格是有行.有列.作用:显示表格类的数据. 文字.图片.表格套表格 一个表格的结构: 图示:以下是一个两行四列的一个表格 名称 苹果 价格 6 总价 12 ? ? 语法结构: <table> <caption>表格的标题</caption> ????<tr> ????????<th></th> <th></th> <th></th> <th></th>