HTML5 语义元素

语义元素:即有意义的元素。


什么是语义元素?

一个语义元素能够清楚的描述其意义给浏览器和开发者。
无语义元素实例: <div>, <span> - 无需考虑内容.
语义元素实例: <form>, <table>, <img> - 清楚的定义了它的内容.


HTML5中新的语义元素

许多现有网站都包含以下HTML代码: <div id="nav">, <div class="header">, 或者 <div id="footer">, 来指明导航链接, 头部, 以及尾部。


HTML5中新的语义元素.png

HTML5 <section> 元素

<section> 标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
根据W3C HTML5文档: section 包含了一组内容及其标题。

<section>
  <h1>第一段</h1>
  <p>第一段内容</p>
</section>
<section>
  <h1>第二段</h1>
  <p>第二段内容</p>
</section>

HTML5 <article> 元素

<article> 标签定义独立的内容。
<article> 元素使用实例:

  • Forum post
  • Blog post
  • News story
  • Comment
<article>
  <h1>标题</h1>
  <p> 内容</p>
</article>

HTML5 <nav> 元素

<nav> 标签定义导航链接的部分。
<nav> 元素用于定义页面的导航链接部分区域,但是,不是所有的链接都需要包含在 <nav> 元素中。

<nav>
<a href="/one/">第一章</a> |
<a href="/two/">第二章</a> |
<a href="/three/">第三章</a> |
<a href="/four/">第四章</a>
</nav>

HTML5 <aside> 元素

<aside> 标签定义页面主区域内容之外的内容(比如侧边栏)。
aside 标签的内容应与主区域的内容相关。

<p>主题内容</p> 
<aside>
  <h4>标题</h4>
  <p>详细内容</p>
</aside>

HTML5 <header> 元素

<header>元素描述了文档的头部区域。
<header>元素注意用于定义内容的介绍展示区域。
在页面中你可以使用多个<header> 元素。
以下实例定义了文章的头部:

<article>
  <header>
    <h1>Internet Explorer 9</h1>
    <p><time pubdate datetime="2011-03-15"></time></p>
  </header>
  <p>Windows Internet Explorer 9(缩写为 IE9 )是在2011年3月14日21:00发布的</p>
</article>

HTML5 <footer> 元素

<footer> 元素描述了文档的底部区域。
<footer> 元素应该包含它的包含元素。
一个页脚通常包含文档的作者,著作权信息,链接的使用条款,联系信息等
文档中你可以使用多个 <footer>元素。

<footer>
  <p>Posted by: Hege Refsnes</p>
  <p><time pubdate datetime="2012-03-01"></time></p>
</footer>

HTML5 <figure> 和 <figcaption> 元素

<figure>标签规定独立的流内容(图像、图表、照片、代码等等)。
<figure> 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。
<figcaption> 标签定义 <figure> 元素的标题.
<figcaption>元素应该被置于 "figure" 元素的第一个或最后一个子元素的位置。

<figure> 
  ![](img_pulpit.jpg)
  <figcaption>图片下的文字</figcaption>
</figure>

我们可以开始使用这些语义元素吗?

以上的元素都是块元素(除了<figcaption>)。
为了让这些块及元素在所有版本的浏览器中生效,你需要在样式表文件中设置一下属性 (以下样式代码可以让旧版本浏览器支持本章介绍的块级元素):

header, section, footer, aside, nav, article, figure
{
    display: block;
} 

Internet Explorer 8 及更早IE版本中的问题

IE8 及更早IE版本无法在这些元素中渲染CSS效果,以至于你不能使用 <header>, <section>, <footer>, <aside>, <nav>, <article>, <figure>, 或者其他的HTML5 elements.
解决办法: 你可以使用HTML5 Shiv Javascript脚本来解决IE的兼容问题。
HTML5 Shiv下载地址:http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js
下载后,将以下代码放入的网页中:

<!--[if lt IE 9]>
<script src="html5shiv.js"></script>
<![endif]--> 

以上代码在浏览器小于IE9版本时会加载html5shiv.js文件。你必须将其放置于<head> 元素中,因为 IE浏览器需要在头部加载后渲染这些HTML5的新元素。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,786评论 1 92
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,540评论 1 19
  • HTML5 标签comment 注释标签用于在源文档中插入注释。注释内容不会被浏览器显示。为代码编写注释的好处是...
    才気莮孒阅读 4,082评论 1 25
  • 昨天,跟好友去看电影了,电影是刚上映的动漫〖你的名字〗。其实开始的时候,我想看的电影是另外一部国产片,但看在朋友一...
    喊够了霉阅读 294评论 0 0
  • 很久没写东西,并不是因为没时间,而是觉得没必要。 很多东西,大家都会有相视一笑的心照不宣。也就让它们相忘于江湖罢了...
    马小小军阅读 314评论 0 1