HTML5中新标签和常用标签详解


Posted in HTML / CSS onMarch 07, 2014

今天先介绍下 html5 新增的结构元素,有的经常使用到,有的用不上,虽然说它们的出现是更促进页面更有语义,更好的 seo,但其实当页面禁用样式后,它们的展现跟 div 是没撒差别,有同学可能会说,既然一样,又不影响页面的最终展现,不管是 article 还是 section 能用就好了。如果考虑实际项目的针对用户,我也是这么认为的,但作为一个重构仔,我们还是得专业点,再考虑到无障碍这块,那么 html5 标签的作用就更明显了。于是复习下内容并记录在博客上,顺便分享给大家,也方便自己以后查找。

HTML5 新增结构元素分为主体结构元素和非主体结构元素

1.主体结构元素包括 article、section、nav、aside、time
2.非主体结构元素包括 header、hgroup、footer、address
一、主体结构元素
article
article 标签,从语义化上看为文档、页面,其用法如下:

通常是一篇文章、一个页面、一个独立完整的内容模块
一般会带个标题,并放在 header 标签中
article 元素可以互相嵌套
使用频率极高,强调独立性,多注意下与 header 标签的使用。

复制代码
代码如下:

<article>
<header>
<h1>是我标签</h1>
</header>
<p>我是段落</p>
<article>
<div>我的内容</div>
</article>
</article>

section
section 标签,从语义化上看为部分,其用法如下:

用于页面内容的独立分块,往往是文章的一段
通常由内容和标题组成,没有标题的内容不推荐使用 section
使用频率低,强调分段分块。

注:《HTML5与CSS3权威指南》这本书中说明:一个容器需要被定义样式或者脚本定义行为时,推荐用div而非section,不要将section用作设置样式的容器。

复制代码
代码如下:

<section>
<h1>水果</h1>
<article>
<h2>苹果</h2>
<div>苹果是撒?</div>
</article>
<article>
<h2>桔子</h2>
<div>桔子是撒?</div>
</article>
</section>
<!-- article可以看成是一种特殊种类的section元素,它比section更强调独立性 -->
<article>
<h1>中国人物</h1>
<p>三国、两晋、南北朝</p>
<section>
<h2>三国</h3>
<p>猛将猛将猛将猛将</p>
</section>
<section>
<h2>两晋</h3>
<p>猛将猛将猛将猛将</p>
</section>
</article>

nav
nav 标签,从语义化上看为导航,其用法如下:

通常作为页面导航的链接组
侧边栏导航
使用频率高。

复制代码
代码如下:

<nav>
<ul>
<li><a href="">菜单1</a></li>
<li><a href="">菜单2</a></li>
<li><a href="">菜单3</a></li>
</ul>
</nav>

aside
aside 标签,从语义化上看为在旁边、侧边,其用法如下:

在 article 标签中使用时,作为主要内容的附属信息部分,如有关的参考资料、名词解释等。
在 article 标签外使用时,作为页面或者站点全局的附属信息部分,如侧边栏、博客的友情链接部分、广告区域等。
使用频率低。

复制代码
代码如下:

<!-- 在article标签外使用时 -->
<article>
<h1>马云是谁</h1>
<p>马云,男,1964年10月15日出生于浙江省杭州市,中国著名企业家,阿里巴巴集团、淘宝网、支付宝创始人..........</p>
<aside>
<h1>参考资料</h1>
<p>百度网、维基百科...</p>
</aside>
</article></p> <p><!-- 在article标签内使用时 -->
<aside>
<nav>
<ul>
<li><a href="">老赵的博客</a></li>
<li><a href="">鬼哥的博客</a></li>
<li><a href="">彪叔的博客</a></li>
</ul>
</nav>
</aside>

time
time 标签,从语义化上看为时间,其用法如下:

代表 24 小时中的某个时刻或某个日期
表示时刻时允许带时间差
可定义很多格式的日期和时间
使用频率低。

复制代码
代码如下:

<time datetime="2013-3-6">2014年3月6日</time>
<!-- datetime属性中日期与时间之间要用“T” 文字分隔,“T”表示时间 -->
<time datetime="2013-3-6T20:00">2014年3月6日20:00</time>
<!-- 时间加上“Z”表示给机器编码时使用UTC标准时间 -->
<time datetime="2013-3-6T20:00Z">2014年3月6日20:00</time>

二、非主体结构元素
header
header 标签,从语义化上看为文档的页眉,其用法如下:

一种具有引导和导航作用的结构元素
通常放置在整个页面或者页面内的一个内容区块的标题
一个网页内并没有限制 header 标签的个数
使用频率极高,比较容易理解。

复制代码
代码如下:

<header>
<h1>我是大头</h1>
</header>
<article>
<header>
<h1>我是脖子</h1>
</header>
<p>我是身体</p>
</article>

hgroup
hgroup 标签,从语义化上看为标题组,其用法如下:

作为 header 标签的子元素
一个内容模块中包括了主标题和至少一个子标题才使用 hgroup
通常会将 h1~h6 元素进行分组
使用频率高。

复制代码
代码如下:

<article>
<header>
<hgrounp>
<h1>我是刘备</h1>
<h2>我是关羽</h2>
<h3>我是张飞</h3>
</hgrounp>
</header>
<p>吕布惊呆了</p>
</article>

footer
footer 标签,从语义化上看为文档的脚注,其用法如下:

一个内容块区的脚注
通常内容为联系信息、相关阅读、版权信息等
使用频率高,比较容易理解。

复制代码
代码如下:

<article>
<p>吕布惊呆了</p>
<footer>
<ul>
<li>关于三国</li>
<li>地图信息</li>
<li>游戏攻略</li>
</ul>
</footer>
</article>

address
address 标签,从语义化上看为地址,其用法如下:

用于文档中呈现的联系信息
通常内容为作者、网站链接、电子邮箱、地址、电话号码等
使用频率低。

复制代码
代码如下:

<address>
<a href="">作者:张三丰</a>
<a href="">地址:武当山</a>
<a href="">联系方式:1247</a>
</address>

希望本文对大家在 html5 结构标签上的运用有一定的指导,如果发现内容有错误的地方,欢迎大家指正~

HTML / CSS 相关文章推荐
利用CSS的Sass预处理器(框架)来制作居中效果
Mar 10 HTML / CSS
CSS3 calc()会计算属性详解
Feb 27 HTML / CSS
CSS3动画之利用requestAnimationFrame触发重新播放功能
Sep 11 HTML / CSS
css3实现可滑动跳转的分页插件示例
May 08 HTML / CSS
CSS3制作彩色进度条样式的代码示例分享
Jun 23 HTML / CSS
微信浏览器左上角返回按钮拦截功能
Nov 21 HTML / CSS
html5将图片转换成base64的实例代码
Sep 21 HTML / CSS
详解H5 活动页之移动端 REM 布局适配方法
Dec 07 HTML / CSS
简述Html5 IphoneX 适配方法
Feb 08 HTML / CSS
Html5之title吸顶功能
Jun 04 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
May 19 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
Aug 10 HTML / CSS
html5的websockets全双工通信详解学习示例
Feb 26 #HTML / CSS
HTML5+CSS3应用详解
Feb 24 #HTML / CSS
html5中valid、invalid、required的定义
Feb 21 #HTML / CSS
html5实现多文件的上传示例代码
Feb 13 #HTML / CSS
HTML5 video 视频标签使用介绍
Feb 03 #HTML / CSS
html5通过canvas实现刮刮卡效果示例分享
Jan 27 #HTML / CSS
html5画布旋转效果示例
Jan 27 #HTML / CSS
You might like
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
jQuery Validate 数组 全部验证问题
2017/01/12 Javascript
用原生js做单页应用
2017/01/17 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
jQuery实现日历效果
2020/09/11 jQuery
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
存储过程和sql语句的优缺点
2014/07/02 面试题
舞蹈教育学专业自荐信
2014/06/15 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
2019新员工心得体会
2019/06/25 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript
vue的项目如何打包上线
2022/04/13 Vue.js