HTML 5的革新:结构之美

简介: 作者: Mr.Think    前言HTML 5如同一场革命,正在Web2.0后时代轰轰烈烈的进行着。HTML 5是什么,无须我在这里赘述了。对于HTML 5的革新,按我的理解,可以总结为语义明确的标签体系、化繁为简的富媒体支持、神奇的本地数据存储技术、不需要插件的富动画(canvas)、强大的API支持。

 

作者: Mr.Think 

  前言HTML 5如同一场革命,正在Web2.0后时代轰轰烈烈的进行着。HTML 5是什么,无须我在这里赘述了。对于HTML 5的革新,按我的理解,可以总结为语义明确的标签体系、化繁为简的富媒体支持、神奇的本地数据存储技术、不需要插件的富动画(canvas)、强大的API支持。总之,HTML 5让人机交互,人网交互变得更加舒适,贴合用户。以往对富媒体应用与本存储的支持乏力也不再是浏览器的切肤之痛。将Web从内容平台推向标准化的应用平台,并一统各在平台阵营的标准,才是HTML 5革命的初衷。 本文,我就抛砖引玉,阐述HTML 5的革新之一:语义更明确简洁的结构。 从"头"说起 一个标准的XHTML头部代码应该是这样:

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" />
</ head >

  你能记住吗?你会去死记硬背吗?当然不会!我们只需要机械的复制粘贴即可。 再看看一个标准的HTML 5头部是如何的:

<! doctype html >
< meta charset =gb2312 >

  孰繁孰简,就不用我说了。是的,HTML 5的头部可以如此简单,可以轻易的记住!并且,可以忽略大小写,引号以及最后一个尖括号前的反斜线。 为什么可以如此松散?其实,如果把XHTML当成text/html发送,浏览器一样可以很好的解析,浏览器并不在乎代码的语法。所以,HTML 5是形而上的,它可能会破坏原有的一些标准,但仍可在浏览器中很好的表现。 当然,为了团队协助与后续维护的方便,我们还是应该统一一种你喜欢的风格的写法,比如:

<! doctype html >
< html >
< head >
< meta charset ="gb2312" />
...
</ head >
< body >
...
</ body >
</ html >

  另外,HTML 5虽然目前并不为所有浏览器所支持,但这个能省去100多字节(对于日PV百万级以上的站点,能省下不少的流量哦)的头部已可以完美的兼容了。如果你对浏览器解析模式有研究的话,你应该知道,页面在没有定义doctype的情况下会触发怪异模式,而只要定义了<!doctype html>浏览器就可以在标准模式下解析页面,而不需要指定某个类型的DTD。 新的语义化标签体系 语义化编码是一个合格前端Developer必备的技能,但随着网页的日渐丰富化,仅仅用原有的xhtml标签去语义化显然已经力不从心。上帝说:"要有光!"便有了光。于是,HTML 5提供了一系列新的标签及相应属性,以反应现代网站典型语义。实践出真理。还是写一个例子吧:

< div id ="header" >
< div class ="hgroup" >
< h1 > 网站标题 </ h1 >
< h1 > 网站副标题 </ h1 >
</ div >
< div id ="nav" >
< ul >
< li > HTML 5 </ li >
< li > CSS </ li >
< li > JavaScript </ li >
</ ul >
</ div >
</ div >
<!-- //header end -->
< div id ="left" >
< div class ="article" >
< p > 这是一篇讲述HTML 5新结构标签的文章。 </ p >
</ div >
< div class ="article" >
< p > 这还是一篇讲述HTML 5新结构标签的文章。 </ p >
</ div >
</ div >
<!-- //left end -->
< div id ="aside" >
< h1 > 作者简介 </ h1 >
< p > Mr.Think,专注Web前端技术的凡夫俗子。 </ p >
</ div >
<!-- //side end -->
< div id ="footer" >
页面的底部
</ div >
<!-- //footer end -->

  上面是一个简单的博客页面部分HTML,由头部、文章展示区、右侧栏、底部组成。编码整洁,也符合XHTML的语义化,即便是在HTML 5中也可以很好的表现。但是对浏览器来说,这就是一段没有区分开权重的代码,而不是一个让机器也能读懂语义的标签来定义相应的区块。比如,标准浏览器(比如Firefox、Chroome甚至新版的IE)都有一个快捷键可以带引客户直接跳转到页面的导航,但问题是所有的区块都是用DIV定义,并且DIV的ID值是同开发者定的,所以,浏览器并不知道哪个应该是导航链接所在区块。HTML 5新标签的出现,正好弥补了这一缺憾。那么,上面的代码,换成HTML 5就可以这样写:

< header >
< hgroup >
< h1 > 网站标题 </ h1 >
< h1 > 网站副标题 </ h1 >
</ hgroup >
< nav >
< ul >
< li > HTML 5 </ li >
< li > CSS </ li >
< li > JavaScript </ li >
</ ul >
</ nav >
</ header >
< div id ="left" >
< article >
< p > 这是一篇讲述HTML 5新结构标签的文章。 </ p >
</ article >
< article >
< p > 这还是一篇讲述HTML 5新结构标签的文章。 </ p >
</ article >
</ div >
< aside >
< h1 > 作者简介 </ h1 >
< p > Mr.Think,专注Web前端技术的凡夫俗子。 </ p >
</ aside >
< footer >
网页底部
</ footer >

  原来,HTML的页面结构可以如此之美,不用注释也能一目了然。对于浏览器,找到对应的区块也不再会茫然无措。 如何用HTML 5新标签结构化元素 通过上面的示例,我们了解到HTML 5的新标签对结构化的革新,但切换到实际使用中,该如何恰当的使用它们呢?我想这也是很多HTML 5学习者想问一个问题。如同XHTML语义化一样,HTML 5语义化标签的使用也应该遵循:每个标签都有它特定的意义,而语义化,就是让我们在适当的位置用适当的标签,以更好的让人和机器(机器可理解为浏览器可理解为搜索引擎)都一目了然。比如header标签一般是页面的第一个区块元素(header标签也可用于类型的头部元素中,比如文章区块的标题),包含的了页面的主题信息;nav标签一般用于包裹导航信息;footer一般用来包裹页面底部信息;等等。 下面是我参考HTML 5手册列出的结构类常用新标签的语义解释及使用指引:<header>标签 手册释义:定义 section 或 document 的页眉。 使用指引:一般用来包含页面头部,也可用于其他区域头部,比如article头部:

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

  <hgroup>标签手册释义:用于对网页或区段(section)的标题进行组合。 使用指引:用于标题类的组合,比如文章的标题与副标题:

< hgroup >
< h1 > 这是一篇介绍HTML 5结构标签的文章 </ h1 >
< h2 > HTML 5的革新 </ h2 >
</ hgroup >

  <nav>标签手册释义:定义导航链接的部分。 使用指引:用于定义页面的导航部分:

< nav >
< ul >
< li > HTML 5 </ li >
< li > CSS </ li >
< li > JavaScript </ li >
</ ul >
</ nav >

  <aside>标签定义 article 以外的内容。aside 的内容应该与 article 的内容相关。 使用指引:用于成节的内容,会在文档流中开始一个新的节,一般用于与文章内容相关的边栏:

< aside >
< h1 > 作者简介 </ h1 >
< p > Mr.Think,专注Web前端技术的凡夫俗子。 </ p >
</ aside >

  <section>标签 手册释义:定义文档中的节(section)。比如章节、页眉、页脚或文档中的其他部分。 使用指引:用于成节的内容,会在文档流中开始一个新的节:

< section >
< h1 > section是什么? </ h1 >
< h2 > 一个新的章节 </ h2 >
< article >
< h2 > 关于section </ h1 >
< p > section的介绍 </ p >
...
</ article >
</ section >

  <footer>标签手册释义:定义 section 或 document 的页脚。典型地,它会包含创作者的姓名、文档的创作日期以及/或者联系信息。 使用指引:一般用来包裹整个页面通用底部,也可用于其他区域底部,比如article底部:

< footer >
COPYRIGHT@Mr.Think
</ footer >

  <article>标签手册释义:定义外部的内容。比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文 本。亦或是来自其他外部源内容。 使用指引:顾名思义,一般用于文章区块:

< article >
< header >
< hgroup >
< h1 > 这是一篇介绍HTML 5结构标签的文章 </ h1 >
< h2 > HTML 5的革新 </ h2 >
</ hgroup >
< time datetime ="2011-03-20" > 2011.03.20 </ time >
</ header >
< p > 文章内容详情 </ p >
</ article >

  <figure>标签手册释义:用于对元素进行组合。 使用指引:多用于图片与图片描述组合:

< figure >
< img src ="img.gif" alt ="figure标签" title ="figure标签" />
< figcaption > 这儿是图片的描述信息 </ figcaption >
</ figure >

  <menu>标签手册释义:定义菜单列表。当希望列出表单控件时使用该标签。 使用指引:使用于菜单类区块,用来定义菜单列表或菜单选项:

< menu >
< li > HTML 5 </ li >
< li > CSS </ li >
< li > JavaScript </ li >
</ menu >

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

目录
相关文章
|
11月前
|
移动开发 HTML5
HTML5的基本结构
HTML5的基本结构。
98 5
|
存储 JavaScript 数据可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
vue3+echarts应用——深度遍历html的dom结构并用树图进行可视化
305 1
|
8月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
192 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
数据采集 移动开发 前端开发
HTML代码的革命:语义化标签的魅力,让你的网页结构焕然一新!
【8月更文挑战第26天】本文探讨了Web前端开发中的语义化标签概念及其重要性。语义化标签通过使用具有明确含义的HTML标签来构建页面结构,提升了网页的可访问性及搜索引擎优化效果,并增强了代码的可读性和维护性。文章还讨论了实际开发中遇到的问题及未来发展趋势。
216 0
|
10月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
351 7
|
移动开发 搜索推荐 前端开发
HTML结构的基本标签
HTML结构的基本标签
196 65
|
移动开发 搜索推荐 前端开发
认识HTML结构的基本标签
认识HTML结构的基本标签
192 58
|
数据采集 存储 JavaScript
如何使用Cheerio与jsdom解析复杂的HTML结构进行数据提取
在现代网页开发中,复杂的HTML结构给爬虫技术带来挑战。传统的解析库难以应对,而Cheerio和jsdom在Node.js环境下提供了强大工具。本文探讨如何在复杂HTML结构中精确提取数据,结合代理IP、cookie、user-agent设置及多线程技术,提升数据采集的效率和准确性。通过具体示例代码,展示如何使用Cheerio和jsdom解析HTML,并进行数据归类和统计。这种方法适用于处理大量分类数据的爬虫任务,帮助开发者轻松实现高效的数据提取。
167 2
如何使用Cheerio与jsdom解析复杂的HTML结构进行数据提取
|
11月前
|
移动开发 HTML5
一个最简单的 HTML 页面结构如下:
HTML 是一种标记语言,用于描述网页结构。通过 `&lt;html&gt;`, `&lt;head&gt;`, `&lt;body&gt;` 等标签构建页面,支持文本、图像、链接、表格等多种元素。本文介绍了 HTML 基础,包括常用标签及创建简单网页的实例,帮助初学者快速入门。
249 0