HTML5语义元素
语义=意义
语义元素=元素的意义
什么事语义元素?
一个语义元素能够清楚的描述其意义给浏览器和开发者。
无语义 元素实例:div、span。无需考虑内容。
语义 元素实例:form 、table、img清楚地定义了它的内容。
浏览器支持
IE9+、火狐、谷歌,Safari、opera支持语义元素。
HTML5新的语义元素
header、nav、section、article、aside、figcaption、figure、footer。
section标签定义文档中的节或者区段。比如章节,页眉、页脚或者文档中的其他部分。
section包含一组内容及其标题。
<section>
<h1>大家好</h1>
<p>这里是大家好的具体介绍!!!</p>
</section>
article标签定义独立的内容。
<article>
<h1>大家好</h1>
<p>这里是大家好的具体介绍!!!</p>
</article>
nav标签定义导航连接部分。
nav元素也可以定义页面的导航链接部分区域,但是,不是所有的链接都需要包含在nav元素中。
<nav>
<a href="/html/">HTML</a> |
<a href="/css/">CSS</a> |
<a href="/js/">JavaScript</a> |
<a href="/jquery/">jQuery</a>
</nav>
<a href="/html/">HTML</a> |
<a href="/css/">CSS</a> |
<a href="/js/">JavaScript</a> |
<a href="/jquery/">jQuery</a>
</nav>
aside标签定义页面主区域内容之外的内容比如侧边栏。
aside标签的内容应与主区域的内容相关。
<aside>
<h4>Epcot Center</h4>
<p>The Epcot Center is a theme park in Disney World, Florida.</p>
</aside>
<h4>Epcot Center</h4>
<p>The Epcot Center is a theme park in Disney World, Florida.</p>
</aside>
header标签描述文档的头部内容。
header标签注意用于定义内容的介绍内容的展示区域。
在页面中你可以有多个header标签。
footer标签描述了文档的底部区域。
一个页脚通常包括文档的作者,著作权信息,链接使用条款,联系信息等。
文档中你可以使用多个footer。
figure 和 figcaption
figure 标签规定独立的流内容图像,图表,照片,代码等等。
figure标签的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。
figcaption标签定义figure元素的标题。figcaption标签应该被置于figure元素的第一个或最后一个子元素的位置。
以上的元素都是块元素除了figcaption。
为了让这些块及元素在所有版本浏览器中生效,你需要在样式表文件设置一下属性。
以下代码可以让刘版本浏览器支持本文中介绍的块级元素。
header, section, footer, aside, nav, article, figure
{
display: block;
}
{
display: block;
}
IE8及更早版本中的问题
IE8及更早版本无法再这些元素中渲染CSS效果,以基于你不能使用<header>, <section>, <footer>, <aside>, <nav>, <article>, <figure>, 或者其他的HTML5 elements.
解决办法:你可以使用HTML5 Shiv Javascript脚本来解决IE的兼容问题。HTML5 Shiv下载地址:http://code.google.com/p/html5shiv/
下载后,将以下代码放入的网页中:
<!--[if lt IE 9]>
<script src="html5shiv.js"></script>
<![endif]-->
以上代码在浏览器小于IE9版本时会加载html5shiv.js文件. 你必须将其放置于<head> 元素中,因为 IE浏览器需要在头部加载后渲染这些HTML5的新元素。