HTML5的结构

一:新增的主体结构元素

在HTML5中,为了使文档的结构更加清晰明确,追加了几个与页眉,页脚内容区块等文档结构相关联的结构元素。

1.1article元素

article元素代表文档,页面或应用程序中独立的完整的,可以独自被外部引用的内容,<article> 标签定义外部的内容。article元素是可以嵌套使用的,内层的内容在原则上需要与外层的内容相关联,

另外article元素也可以用来表示一个插件。

<time> 标签定义日期或时间,或者两者。pubdate 指示 <time> 元素中的日期 / 时间是文档(或最近的前辈 <article> 元素)的发布日期

     <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head> <body>
<article>
<header>
<h1>博客</h1>
<p><time pubdate="pubdate">2017/3/1</time></p>
</header>
<p><b>我的博客</b>,我的博客内容</p>
<footer>版权所有</footer>
</article>
</body>
</html>

2.section元素

section元素用来对网站或应用程序中页面上的内容进行分块,一个section元素通常由内容及其标题组成,但section元素并非一个普通的容器元素,当一个容器需要直接定义样式或通过脚本定义行为的时候,最好使用div而不要使用section。

section元素的作用是对页面内容分块,或者说是对文章进行分段。

<article>
<h1>元素分类</h1>
<section>
<h2>article元素</h2>
<p>article元素的作用</p>
</section>
<section>
<h2>section元素</h2>
<p>section元素的作用</p>
</section>
</article>

带有section元素的article元素示例

<section>
<h1>元素分类</h1>
<article>
<h2>article元素</h2>
<p>article元素的作用</p>
</article>
<article>
<h2>section元素</h2>
<p>section元素的作用</p>
</article>
</section>

带有article元素的section元素示例

事实上article元素可以看成一种特殊的类的section元素,,它比section元素更强调独立性,section强调分段,article强调独立性。

3.nav元素

nav元素是一个可以用来作为页面导航的链接组,nav用于导航上.

4:aside元素

aside元素用来表示当前页面或文章的附属信息部分,有别于主体内容的部分。其中的内容可以是与当前文章有关的参考资料、名词解释;在article元素之外使用,作为页面或站点全局的附属信息部分。

5:time元素

<time>元素表示的是日期定义日期。页面在解析时,获取的是属性“datetime”中的值,而标记之间的内容只是用于显示在页面中。<time>元素中的可选属性“pubdate”表示时间是否为发布日期,它是一个布尔值,该属性不仅可以用于<time>元素,还可用于<article>元素。

6:header元素

header元素是一种具有引导和导航作用的结构元素,一个网页内并未限制header元素的个数,可以拥有多个,在HTML 5中,一个header元素通常包括至少一个heading元素(h1-h6)。

<header>
<h1>header标签的使用</h1>
</header> <article>
<header>
<h1>子标题</h1>
</header>
<p>内容</p>
</article>

多个header元素的使用

7:footer元素

footer通常包括其相关区块的脚注信息,如作者、相关阅读链接及版权信息等。

对这些新增的元素使用css样式,要声明这些元素为块元素。

二:大纲的编排规则

关于内容区块的编排,可以分为“显式编排”与“隐式编排”两种方式。

显式编排

显式编排是指明确使用section等元素创建文档结构,在每个内容区块内使用标题(h1~h6、hgroup等)

隐式编排

所谓隐式编排,是指不明确使用section等元素,而是根据页面中所书写的各级标题(h1~h6、hgroup等)把各级内容区块自动创建出来。

如果新出现的标题比上一个标题级别低,将生成下级内容区块。

如果新出现的标题比上一个标题级别高,或者两者的级别相等,将生成新的内容区块。

因为隐式编排容易使自动生成的整个文档结构与所想要的文档结构不一样,而且也容易引起文档结构的混乱,所以尽量使用显式编排。

<section>
<h2>隐式编码</h2>
<p>内容</p>
<!--因为下面的标题级别比上一个标题级别高,所以自动创建新的内容区块 -->
<h1>内容</h1>
<p>内容</p>
</section> <section>
<h2>显式编码</h2>
<p>s内容</p>
</section>
<section>
<h1>分块</h1>
<p>内容</p>
</section>

——参考自《HTML5与css3的权威指南》

HTML5新增的结构元素的更多相关文章

  1. 【原】HTML5 新增的结构元素——能用并不代表对了

    做移动端有一段时间,今天有同事问了我 article 和 section 标签的使用,模模糊糊的解释了下,他似懂非懂,有点小尴尬.忽然间觉得自己有必要再翻翻书籍,重温下 html5 的新元素.html ...

  2. HTML5新增与结构有关的元素

    HTML5新增与结构有关的元素 1.section元素 2.article元素 3.aside元素 4.header元素 5.hgroup元素 6.footer元素 7.nav元素 8.figure元 ...

  3. html5--select与HTML5新增的datalist元素

    html5--select与HTML5新增的datalist元素 学习要点 掌握select元素与datalist元素的使用 select元素 用来建立一个下拉菜单选项列表 不仅可以在表单中使用,还可 ...

  4. 疯狂的表单-html5新增表单元素和属性

    疯狂的表单 2015/11/27 16:44:07 从三方面来介绍html5表单的新特性 表单结构更灵活 要提交数据的控件可以布局在form标签之外,看下面的代码,表单元素可以写到form元素之外,只 ...

  5. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

  6. 如何让老式浏览器支持html5新增的语义元素

    html5新增加了一些语义元素,如header, footer, nav, aritcle, aside,等等. 然而,有些老款浏览器无法识别这些元素,会把它们当成 inline 元素对待,这会导致一 ...

  7. 第一章 用HTML5中的结构元素构建网站

    1.当一个容器需要直接定义样式或通过脚本定义行为时,推荐使用div元素而非section元素. 2.section是需要标题的,而nav或aside没有标题也是可以的. 3.html5轮廓工具 htt ...

  8. IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

    HTML5有一些新的表单元素:<datalist>.<keygen>.<output>.不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性, ...

  9. html5新增的主体结构元素

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

随机推荐

  1. 3.07课·········if分支语句

    语句分类:顺序语句,选择语句(分支语句),循环语句 分支语句:(一)if(表达式) //表达式返回值是True或False{}说明:1.表达式返回的是bool值:2.小括号和花括号后面不需要加分号. ...

  2. .vimrc .bashrc

    怕丢了,赶快保存! .bashrc # switch caps lock with escxmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'sudo ...

  3. python 3 并发编程之多进程 multiprocessing模块

    一 .multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程. ...

  4. 20145229吴姗珊两天小总结 《Java程序设计》第4周学习总结

    20145229吴姗珊两天小总结 <Java程序设计>第4周学习总结 教材学习内容总结 由于自己的基础不好对知识的理解不透彻,所以这两天的学习还是集中在第六章和第七章,对知识点多了一点理解 ...

  5. 在ubuntu上为android系统编写Linux驱动程序【转】

    本文转载自:http://blog.csdn.net/luoshengyang/article/details/6568411 在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的 ...

  6. 【反思】一个价值两天的BUG,无论工作还是学习C语言的朋友都看看吧!

    博文原创,转载请联系博主! 使用C语言也有两个年头了,BUG写出来过不少,也改过不少BUG.但是偏偏就是有这么一个BUG让我手头的项目停工了两天,原因从百度找到谷歌,资料从MAN手册找到RFC也没有找 ...

  7. 剑指offer之 从尾到头打印链表

    package Problem5; import java.util.Stack; //首先定义链表结构class LinkNode{ LinkNode next; int node_value;} ...

  8. Luogu-3829 [SHOI2012]信用卡凸包

    这道题的转化很巧妙,可以把信用卡四个角的圆心看做平面上的点来做凸包,\(ans\)就是凸包周长加上一个圆的周长 // luogu-judger-enable-o2 #include<cmath& ...

  9. java.sql.SQLException: Column count doesn't match value count at row 1 Query: insert into category values(null,?,?,?) Parameters: [1111111, 1111, 软件]

    java.sql.SQLException 问题: java.sql.SQLException: Column count doesn't match value count at row 1 Que ...

  10. poj 3666 Making the Grade(dp离散化)

    Making the Grade Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7068   Accepted: 3265 ...