`
昔雪似花
  • 浏览: 204694 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
前言 HTML 5如同一场革命,正在Web2.0后时代轰轰烈烈的进行着。 HTML 5是什么,无须我在这里赘述了。对于HTML 5的革新,按我的理解,可以总结为语义明确的标签体系、化繁为简的富媒体支持、神奇的本地数据存储技术、不需要插件的富动画(canvas)、强大的API支持。总之,HTML 5让人机交互,人网交互变得更加舒适,贴合用户。以往对富媒体应用与本存储的支持乏力也不再是浏览器的切肤之痛。将Web从内容平台推向标准化的应用平台,并一统各在平台阵营的标准,才是HTML 5革命的初衷。本文,我就抛砖引玉,阐述HTML 5的革新之一:语义更明确简洁的结构。 从"头"说起 一个标准的XHTML头部代码应该是这样:
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
5 </head>
你能记住吗?你会去死记硬背吗?当然不会!我们只需要机械的复制粘贴即可。再看看一个标准的HTML 5头部是如何的:
1 <!doctype html>
2 <meta charset=gb2312>
孰繁孰简,就不用我说了。是的,HTML 5的头部可以如此简单,可以轻易的记住!并且,可以忽略大小写,引号以及最后一个尖括号前的反斜线。为什么可以如此松散?其实,如果把XHTML当成text/html发送,浏览器一样可以很好的解析,浏览器并不在乎代码的语法。所以,HTML 5是形而上的,它可能会破坏原有的一些标准,但仍可在浏览器中很好的表现。当然,为了团队协助与后续维护的方便,我们还是应该统一一种你喜欢的风格的写法,比如:
01 <!doctype html>
02 <html>
03 <head>
04 <meta charset="gb2312" />
05 ...
06 </head>
07 <body>
08 ...
09 </body>
10 </html>
另外,HTML 5虽然目前并不为所有浏览器所支持,但这个能省去100多字节(对于日PV百万级以上的站点,能省下不少的流量哦)的头部已可以完美的兼容了。如果你对浏览器解析模式有研究的话,你应该知道,页面在没有定义doctype的情况下会触发怪异模式,而只要定义了<!doctype html>浏览器就可以在标准模式下解析页面,而不需要指定某个类型的DTD。 新的语义化标签体系 语义化编码是一个合格前端Developer必备的技能,但随着网页的日渐丰富化,仅仅用原有的xhtml标签去语义化显然已经力不从心。上帝说:"要有光!"便有了光。于是,HTML 5提供了一系列新的标签及相应属性,以反应现代网站典型语义。实践出真理。还是写一个例子吧:
01 <div id="header">
02     <div class="hgroup">
03         <h1>网站标题</h1>
04         <h1>网站副标题</h1>
05     </div>
06     <div id="nav">
07         <ul>
08             <li>HTML 5</li>
09             <li>CSS</li>
10             <li>JavaScript</li>
11         </ul>
12     </div>
13 </div>
14 <!--//header end-->
15 <div id="left">
16     <div class="article">
17         <p>这是一篇讲述HTML 5新结构标签的文章。</p>
18     </div>
19     <div class="article">
20         <p>这还是一篇讲述HTML 5新结构标签的文章。</p>
21     </div>
22 </div>
23 <!--//left end-->
24 <div id="aside">
25     <h1>作者简介</h1>
26     <p>Mr.Think,专注Web前端技术的凡夫俗子。</p>
27 </div>
28 <!--//side end-->
29 <div id="footer">
30 页面的底部
31 </div>
32 <!--//footer end-->
上面是一个简单的博客页面部分HTML,由头部、文章展示区、右侧栏、底部组成。编码整洁,也符合XHTML的语义化,即便是在HTML 5中也可以很好的表现。但是对浏览器来说,这就是一段没有区分开权重的代码,而不是一个让机器也能读懂语义的标签来定义相应的区块。比如,标准浏览器(比如Firefox、Chroome甚至新版的IE)都有一个快捷键可以带引客户直接跳转到页面的导航,但问题是所有的区块都是用DIV定义,并且DIV的ID值是同开发者定的,所以,浏览器并不知道哪个应该是导航链接所在区块。HTML 5新标签的出现,正好弥补了这一缺憾。那么,上面的代码,换成HTML 5就可以这样写:
01 <header>
02     <hgroup>
03         <h1>网站标题</h1>
04         <h1>网站副标题</h1>
05     </hgroup>
06     <nav>
07         <ul>
08             <li>HTML 5</li>
09             <li>CSS</li>
10             <li>JavaScript</li>
11         </ul>
12     </nav>
13 </header>
14 <div id="left">
15     <article>
16         <p>这是一篇讲述HTML 5新结构标签的文章。</p>
17     </article>
18     <article>
19         <p>这还是一篇讲述HTML 5新结构标签的文章。</p>
20     </article>
21 </div>
22 <aside>
23     <h1>作者简介</h1>
24     <p>Mr.Think,专注Web前端技术的凡夫俗子。</p>
25 </aside>
26 <footer>
27     网页底部
28 </footer>
原来,HTML的页面结构可以如此之美,不用注释也能一目了然。对于浏览器,找到对应的区块也不再会茫然无措。 如何用HTML 5新标签结构化元素 通过上面的示例,我们了解到HTML 5的新标签对结构化的革新,但切换到实际使用中,该如何恰当的使用它们呢?我想这也是很多HTML 5学习者想问一个问题。如同XHTML语义化一样,HTML 5语义化标签的使用也应该遵循:每个标签都有它特定的意义,而语义化,就是让我们在适当的位置用适当的标签,以更好的让人和机器(机器可理解为浏览器可理解为搜索引擎)都一目了然。比如header标签一般是页面的第一个区块元素(header标签也可用于类型的头部元素中,比如文章区块的标题),包含的了页面的主题信息;nav标签一般用于包裹导航信息;footer一般用来包裹页面底部信息;等等。下面是我参考HTML 5手册列出的结构类常用新标签的语义解释及使用指引: <header>标签 手册释义:定义 section 或 document 的页眉。使用指引:一般用来包含页面头部,也可用于其他区域头部,比如article头部:
1 <header>
2     <hgroup>
3         <h1>网站标题</h1>
4         <h1>网站副标题</h1>
5     </hgroup>
6 </header>
<hgroup>标签 手册释义:用于对网页或区段(section)的标题进行组合。使用指引:用于标题类的组合,比如文章的标题与副标题:
1 <hgroup>
2     <h1>这是一篇介绍HTML 5结构标签的文章</h1>
3     <h2>HTML 5的革新</h2>
4 </hgroup>
<nav>标签 手册释义:定义导航链接的部分。使用指引:用于定义页面的导航部分:
1 <nav>
2     <ul>
3         <li>HTML 5</li>
4         <li>CSS</li>
5         <li>JavaScript</li>
6     </ul>
7 </nav>
<aside>标签 定义 article 以外的内容。aside 的内容应该与 article 的内容相关。使用指引:用于成节的内容,会在文档流中开始一个新的节,一般用于与文章内容相关的边栏:
1 <aside>
2     <h1>作者简介</h1>
3     <p>Mr.Think,专注Web前端技术的凡夫俗子。</p>
4 </aside>
<section>标签 手册释义:定义文档中的节(section)。比如章节、页眉、页脚或文档中的其他部分。使用指引:用于成节的内容,会在文档流中开始一个新的节:
1 <section>
2     <h1>section是什么?</h1>
3     <h2>一个新的章节</h2>
4     <article>
5         <h2>关于section</h1>
6         <p>section的介绍</p>
7         ...
8     </article>
9 </section>
<footer>标签 手册释义:定义 section 或 document 的页脚。典型地,它会包含创作者的姓名、文档的创作日期以及/或者联系信息。使用指引:一般用来包裹整个页面通用底部,也可用于其他区域底部,比如article底部:
1 <footer>
2     COPYRIGHT@Mr.Think
3 </footer>
<article>标签 手册释义:定义外部的内容。比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦或是来自其他外部源内容。使用指引:顾名思义,一般用于文章区块:
01 <article>
02     <header>
03         <hgroup>
04             <h1>这是一篇介绍HTML 5结构标签的文章</h1>
05             <h2>HTML 5的革新</h2>
06         </hgroup>
07         <time datetime="2011-03-20">2011.03.20</time>
08     </header>
09     <p>文章内容详情</p>
10 </article>
<figure>标签 手册释义:用于对元素进行组合。使用指引:多用于图片与图片描述组合:
1 <figure>
2     <img src="img.gif" alt="figure标签"  title="figure标签" />
3     <figcaption>这儿是图片的描述信息</figcaption>
4 </figure>
<menu>标签 手册释义:定义菜单列表。当希望列出表单控件时使用该标签。使用指引:使用于菜单类区块,用来定义菜单列表或菜单选项:
1 <menu>
2     <li>HTML 5</li>
3     <li>CSS</li>
4     <li>JavaScript</li>
5 </menu>

HTML 5的其他新标签,就不此一一解释了,请自行查询一下手册。其实,这些东西,如同XHTML的div、h1、inpu等标签一样,只要平时多加实践,运用自如也是轻而易举的。 关于兼容性 如果你是一个喜欢研究关注前端的人,你应该知道淘宝的页面结构中已大量用到了HTML 5新标签。所以,我想说的是只要敢于尝试,兼容性不是问题,兼容的方法,网上有很多(本文是讲结构的,哈~)。 后话 任何一门新技术,都需要一个适应的过程。如果你准备好了做一名优秀的Web前端开发人员,那你就得不断的尝试并接受最新的前端技术。孙文曾说,欲经文明之幸福,不得不经文明之痛苦。人类的革命如此,HTML 5的革命亦是如此。IE的日渐没落,让各大浏览器厂商以一次进入了战国时代,群雄逐鹿。而对于开发者,我们只奢求各大浏览器厂商尽可能的遵循同一个标准,而不是群雄逐鹿后的四分五裂。因为,高效完美的呈现给各类用户同样的应用才是我们的终极目标。如此,本文从页面的doctype说起,到用HTML 5新标签搭建语义化更明确的页面的结构,再解释了一番与页面结构相关的新标签。相信大家对HTML 5的结构性新标签有了一个新的认知,如果你有兴趣,那就打开你的IDE,写上一段由HTML 5新标签搭建的代码,然后用CSS去描绘你的宏伟蓝图吧!

原文发布于Mr.Think的博客:http://mrthink.net/html5-simple-structure/
分享到:
评论

相关推荐

    html5网站实例

    HTML5是现代网页开发的核心标准,它在原有HTML4的基础上引入了诸多新特性,极大地提升了网页的交互性和表现力。本实例将详细讲解如何利用HTML5来构建一个完整的网站,包括布局、登录功能以及内容展示。 一、HTML5的...

    html5介绍.ppt

    ### HTML5介绍 #### 什么是HTML5? HTML5是一种用于构建网页的标准标记语言,它不仅扩展了HTML4的功能,还引入了许多新特性来增强网页的表现力和交互性。HTML5的发展始于2004年,由WHATWG(Web Hypertext ...

    html5网站整站源码

    HTML5是下一代网页标准,它的出现极大地丰富了网页的表现力和功能,为开发者提供了更强大的工具和更多可能性。本资源包含一个"html5网站整站源码",这是一个基于HTML5技术构建的完整网站模板,适合用于学习和参考。...

    html5最终版规范pdf版

    HTML5是下一代超文本标记语言,它在2014年由W3C(World Wide Web Consortium,万维网联盟)正式发布最终规范。这个“html5最终版规范pdf版”包含的是HTML5完整且权威的标准定义,对于Web开发者来说,是理解和掌握...

    HTML5经典中文教程大全-从入门到精通-含html5案例代码

    HTML5经典中文教程大全 html5从入门到精通 含html5案例代码 HTML 5结构元素 这真是大快人心。目前,我们定义结构只能通过一个“万能”的div, 试图通过设置它的特性id的值如header, footer, sidebar等来分别表达...

    html5饼图、柱状图、折线图,Html5+JS开发

    HTML5是一种先进的网页标准,它在图形和交互性方面提供了许多增强功能,使得开发者能够创建出更加生动和富有表现力的网页应用。本资源包含了一系列使用HTML5和JavaScript技术实现的图表,包括饼图、柱状图和折线图,...

    html5播放rtsp视频流.zip

    HTML5是一种强大的网页开发技术,它提供了许多增强用户体验的功能,包括多媒体元素的处理。然而,HTML5原生并不支持RTSP(Real Time Streaming Protocol)视频流的播放,这是专为实时音视频传输设计的一种协议。为了...

    HTML5快速开发模板生成器

    HTML5快速开发模板生成器是一种高效工具,旨在帮助开发者迅速构建基于HTML5的网页项目,大大缩短了开发周期。HTML5作为现代Web开发的标准,引入了许多新的元素、API和功能,使得网页更具交互性和表现力。这个模板...

    HTML5参考手册大全7本合集.chm

    HTML5是现代网页开发的核心标准,它在HTML4的基础上进行了大量的改进和扩展,旨在提供更丰富的功能和更好的用户体验。这个“HTML5参考手册大全7本合集”包含了多个关于HTML5及其相关版本的手册,是学习和理解HTML5的...

    html5 个人网站源码

    HTML5是下一代网页标准,它在2014年正式成为W3C推荐标准,显著地增强了网页的交互性和表现力。此“html5个人网站源码”是一个理想的起点,尤其是对于初学者,想要了解和掌握HTML5的核心特性的实践应用。 首先,`...

    HTML5视频(MP4)播放器

    HTML5视频播放器是利用HTML5的`&lt;video&gt;`标签实现的一种网页内嵌式媒体播放功能。这个技术的出现使得开发者无需依赖Flash等第三方插件就能在网页上播放音频和视频,大大提升了用户体验,同时也降低了对浏览器兼容性的...

    html5+css3+JS代码

    HTML5、CSS3和JavaScript是构建现代网页和应用程序的核心技术,它们共同构成了Web开发的三驾马车。在本篇文章中,我们将深入探讨这三种技术的详细知识点,并结合《精通html5+css3+JavaScript页面设计》这本书中的...

    《HTML5开发精要与实例详解》配套源码

    此为《HTML5开发精要与实例详解》的全部配套源码 本书由资深Web开发专家亲自执笔,内容的权威性上应该是毋庸置疑的。 本书在内容结构上将继承《HTML 5与CSS 3权威指南》一书的优点,几乎每个知识点都将配一个精心...

    html5课程设计

    HTML5是现代网页开发的核心标准,它在2014年被正式确立为W3C推荐标准,极大地推动了互联网内容的丰富性和交互性。HTML5的出现旨在解决早期HTML版本的一些局限性,并引入了许多新的元素、属性和API,使得开发者能够更...

    html5手机版问卷

    HTML5手机版问卷是一种基于Web技术实现的移动端调查工具,它利用HTML5的先进特性,为用户提供了一种在手机或平板电脑上填写问卷的便捷方式。本压缩包包含了一个基本的HTML5问卷模板,该模板设计简洁,易于理解和修改...

    html5 仿微信聊天界面

    HTML5技术在现代网页开发中扮演着至关重要的角色,它为构建交互性强、功能丰富的用户界面提供了强大的支持。"html5 仿微信聊天界面"项目就是利用HTML5特性实现的一个类似微信网页版的聊天界面。这个项目展示了如何...

    80个HTML5小游戏源码

    HTML5小游戏源码集合是一个非常宝贵的资源,尤其对于想要学习和提升HTML5游戏开发技能的开发者来说。这个压缩包包含了80个不同的小游戏,每个都是按照微信小游戏的标准和风格设计的,提供了丰富的实践素材和灵感来源...

    30个html5手机网站源码

    HTML5手机网站源码是现代网页开发的重要组成部分,尤其对于初学者来说,这些源码提供了宝贵的实践和学习机会。在本篇文章中,我们将深入探讨HTML5在手机网站开发中的应用,以及通过分析30个不同的手机网站源码,你...

    html5+css3课件打包

    HTML5和CSS3是现代网页开发的两大核心技术,它们共同为网页设计师和开发者提供了丰富的功能和优雅的样式控制。此“html5+css3课件打包”资源包含了从基础到高级的一系列课程材料,旨在帮助学习者全面掌握这两门语言...

    计算机毕业翻译文献(HTML5相关)

    描述:“毕业翻译文献资料HTML5相关,英文,题目为《The Future of Mobile E-health Application Development: Exploring HTML5 for Context-aware Diabetes Monitoring》” 知识点解析: 1. 移动E-health应用开发...

Global site tag (gtag.js) - Google Analytics