前言
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” 家长寄语高中8220;/d/file/titlepic/xhtml1-transitional.dtd& />
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”content-type” content=”text/html; chart=gb2312″ />
</head>
你能记住吗?你会去死记硬背吗?当然不会!我们只需要机械的复制粘贴即可。
再看看一个标准的html 5头部是如何的:
复制代码 代码如下:
<!doctype html>
<meta chart=gb2312>
孰繁孰简,就不用我说了。是的,html 5的头部可以如此简单,可以轻易的记住!并且,可以忽略大小写,引号以及最后一个尖括号前的反斜线。
为什么可以如此松散?其实,如果把xhtml当成text/html发送,浏览器一样可以很好的解析,浏览器并不在乎代码的语法。所以,html 5是形而上的,它可能会破坏原有的一些标准,但仍可在浏览器中很好的表现。
当然,为了团队协助与后续维护的方便,我们还是应该统一一种你喜欢的风格的写法,比如:
复制代码 代码如下:
<!doctype html>
<html>
<head>
<meta chart=”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>标签
手册释义:定义 ction 或 document 的页眉。
使用指引:一般用来包含页面头部,也可用于其他区域头部,比如article头部:
起讫复制代码 代码如下:
<header>
<hgroup>
<h1>网站标题</h1>
<h1>网站副标题</h1>
</hgroup>
</header>
<hgroup>标签
手册释义:用于对网页或区段(ction)的标题进行组合。
使用指引:用于标题类的组合,比如文章的标题与副标题:
复制代码 代码如下:
<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>
<ction>标签
手册释义:定义文档中的节(ction)。比如章节、页眉、页脚或文档中的其他部分。
使用指引:用于成节的内容,会在文档流中开始一个新的节:
复制代码 代码如下:
<ction>
<h1>ction是什么?</h1>
<h2>一个新的章节</h2>
<article>
<h2>关于ction</h1>
<p>ction的介绍</p>
…
</article>
</ction>
<footer>标签
手册释义:定义 ction 或 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&g井冈山景点简介t;
</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去描绘你的宏伟蓝图吧! (来源:
mr.think)
本文发布于:2023-04-03 07:27:50,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/ce9fe52a58dc7288a948ea8167794d8c.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:HTML5的革新 结构之美.doc
本文 PDF 下载地址:HTML5的革新 结构之美.pdf
留言与评论(共有 0 条评论) |