您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

HTML5 语义元素

什么是语义元素?

语义元素能够清楚的描述其意义给浏览器和开发者

无语义 元素: <div> 和 <span> - 无需考虑

语义 元素: <form>,<table> 和 <img> - 清楚的定义了它的

浏览器

Internet Explorer 9+,Firefox,Chrome,Safari 和 Opera 语义元素

注意: Internet Explorer 8 及更早版本该元素,不过我们在的的末尾提供了兼容的

html5 中新的语义元素

在 html5 之前,许多的网站都包含了以下 HTML

<div id="nav">
<div>
<div id="footer">

用来指明导航,头部,以及尾部

HTML5 则提供了新的语义元素来明确 Web 的不同部分

<header>
<nav>
<section>
<article>
<aside>
<caption>
<ure>
<footer>

HTML5 <section> 元素

元素 <section> 用于定义文档中的节 ( section、区段),比如章节、页眉、页脚或文档中的其它部分

<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="/html">HTML 5</a> |
    <a href="/css">css 3</a> |
    <a href="/JavaScript">JavaScript</a> |
    <a href="/jquery">jQuery</a>
</nav>

HTML5 <aside> 元素

元素 <aside> 定义了主区域之外的 ( 比如 )

<aside> 元素的应与主区域的相关

<h3>我的日志</h3>
<p>今天天气好冷,心情特沮丧</p>

<aside>
  <h4>每日正能量</h4>
  <p>明天就会天晴,还你以艳阳高照天</p>
</aside>

HTML5 <header> 元素

元素 <header> 描述了文档的头部区域

<header> 元素注意用于定义的介绍展示区域

我们可以在中使用多个 <header> 元素

<article>
  <header>
    <h1>2017-10-1 日志</h1>
    <p><time pubdate datetime="2017-10-1"></time></p>
  </header>
  <p>放假第一天,心情特好,游玩了下黄山</p>
</article>

HTML5 <footer> 元素

元素 <footer> 元素描述了文档的区域

<footer> 元素应该包含它的包含元素

页脚通常包含文档的作者,著作权信息,的使用条款,联系信息等

我们可以在中使用多个 <footer> 元素

<footer>
  <p>作者: F2er.com</p>
  <p><time pubdate datetime="2020-10-01"></time></p>
</footer>

HTML5 <ure> 和 <caption> 元素

<ure> 元素定义了独立的流(图像、图表、照片、等等)

<ure> 元素的应该与主相关,但如果被,则不应对文档流产生影响

<caption> 定义 <ure> 元素的

<caption> 元素应该被置于 "ure" 元素的第或最后子元素的位置

<ure>
  <img src="/static/i/img1.jpg" alt="The Pulpit Rock" width="304" height="228">
  <caption>1. - The Pulpit Pock,Norway</caption>
</ure>

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

我们上面介绍的元素都是块元素( 除了 <caption> )

为了让这些块及元素在所有版本的浏览器中生效,我们需要在样式表中设置一下

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

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

IE8 及更早 IE 版本无法些元素中渲染 CSS ,以至于我们不能直接使用 <header>,<section>,<footer>,<aside>,<nav>,<article>,<ure>,或者其它的 HTML5 元素

办法: 可以使用 HTML5 Shiv Javascrip t脚本来 IE 的兼容问题

国外

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

国内

<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<![endif]-->

需要将这些放在 HTML 文档的头部,因为 IE 浏览器需要在头部加载后渲染这些 HTML5 的新元素。


联系我
置顶