HTML5--新增结构元素(2)

前言:

  HTML5中废除了一些结构元素同时也新增了一些结构元素,这节课主要学习新增的article、aside、nav、section、header、footer、address、hgroup等语义标签

IE浏览器对HTML5中语义化标签的支持:

  兼容性:

    1.IE9及以上选择性支持,IE8及以下完全不支持

    2.IE9中会将语义化标签转成行内元素。IE8无法识别新增的语义化标签,也就无法正确解析。

  解决方法:

    1.手动创建这些语义化标签,由于创建的标签默认是行内元素,设置style为display:block即可。(但是这种方式比较繁琐,不推荐)。

document.createElement("header")
document.createElement("article")
document.createElement("aside")
document.createElement("footer")

    2.引入第三方插件(html5shiv.min.js)--- http://www.bootcdn.cn/html5shiv/

<script src="./html5shiv.min.js"></script>

    这样在IE8及以下的版本,也可以正常显示这些语义化标签。

1.article元素

  article:英文本意"文章"

  使用场景:

    article元素代表文档、页面或应用程序中独立的、完整的、可独自被外部引用的内容。可以是一片博客或报刊中的文章、论坛帖子、用户评论、独立的插件,或任何其他独立的内容。

  article元素可以嵌套使用。

  示例:article实例

<body>
    <article>
        <!-- 此处的article作为独立的内容 -->
        <header>
            <h1>卖程序猿的小火柴</h1>
            <p>hello,高价回收程序猿</p>
        </header>
        <article>
            <!-- 此处的article作为内嵌的内容 -->
            <header>一次报价</header>
            <p>$xxx第一次</p>
            <footer>
                正在拍卖中
            </footer>
        </article>
        <footer>
            <p>价格私聊</p>
        </footer>
    </article>
    <article>
        <!-- 此处的article可作为一个插件使用 -->
        <h1>这是一个内嵌页面</h1>
        <object>
            <embed src="#" width="600" height="400">
        </object>
    </article>
</body>

2.aside元素标签

  aside:英文原意"在一旁、在旁边"

  使用场景:

    aside:表示当前页面或文章的附属信息部分,可以包含与当前页面或主要内容相关的引用、侧边栏、广告、导航条,及其他类似有区别与主要内容的部分。

  示例:aside实例

<body>
    <header>
        <h1>js入门</h1>
    </header>
    <article>
        <h1>语法</h1>
        <p>文章的正文......</p>
        <aside>
            <!-- 1、此处作为文章正文的解释 -->
            <h1>名词解释</h1>
            <p>语法:这是一个对语言来说很重要的内容体</p>
        </aside>
    </article>
    <aside>
        <!-- 2、此处作为区别主要内容的部分 -->
        <nav>
            <h2>评论</h2>
            <ul>
                <li><a href="#">2015-3-10</a></li>
                <li><a href="#">大牛:真希望能好好学一下</a></li>
            </ul>
        </nav>
    </aside>
</body>

 

3.nav元素

  nav:navigation的缩写,英文本意“航行、导航”

  使用场景:

    nav:可用作页面导航的连接组,其中导航元素链接到其他页面或当前页面其他部分。

    具体场景

      传统导航、侧边栏导航、页内导航、翻页导航  

    示例:nav实例 

<body>
    <nav>
        <!-- 1、作为传统导航 -->
        <ul>
            <li><a href="#">主页</a></li>
            <li><a href="#">开发文档</a></li>
        </ul>
    </nav>
    <article>
        <header>
            <h1>HTML5与CSS3的历史</h1>
            <nav>
                <!-- 2、作为页内导航 -->
                <ul>
                    <li><a href="#">HTML5的历史</a></li>
                    <li><a href="#">CSS3的历史</a></li>
                </ul>
            </nav>
        </header>
        <section>
            <h1>HTML5历史</h1>
            <p>......</p>
        </section>
        <section>
            <h1>CSS3的历史</h1>
            <p>......</p>
        </section>
    </article>
</body>

4.section元素

  section:英文原意"部分、切开"

  使用场景:

    section元素对网站或应用程序页面上的内容进行分块,通常由内容和其标题组成。

  注意事项:

    1.不要将section元素作为设置样式的页面容器

    2.如果article元素、aside元素、nav元素更符合条件,不要使用section元素

    3.没有标题内容 不要使用section元素

  section和article区分

    1、section和article都表示页面上的独立区域

    2、article更强调的是页面上独立的一块内容

    3、section更强调的是将独立的内容分块

  示例:section实例

<body>
    <section>
        <h1>苹果</h1>
        <p>这是一个水果,可以吃</p>
    </section>
    <article>
        <!-- 1.article表示页面上独立的区域 -->
        <h1>苹果</h1>
        <p>这是一个水果,可以吃</p>
        <section>
            <!-- 2.section更强调将内容进行分块 -->
            <h2>红富士</h2>
            <p>这是一种外表很红的苹果</p>
        </section>
        <section>
            <h2>国光</h2>
            <p>这是一种的苹果</p>
        </section>
    </article>
</body>

5.header元素

  header:英文原意"标头、头部"

  使用场景:

    header元素:是一种具有引导和导航作用的结构元素,通常用来放置整个页面或页面内的一个内容区块的标题,但也可包含其他内容,例如数据表格、搜索表单或相关的logo图片。

  示例:header实例

<body>
    <header>
        <!-- header中包含标题,logo或nav等其他元素 -->
        <h1>IT最新技术</h1>
        <a href="http://www.baidu.com">百度</a>
        <nav>
            <ul>
                <li><a href="#">学习</a></li>
                <li><a href="#">图片</a></li>
                <li><a href="#">网页</a></li>
            </ul>
        </nav>
    </header>
</body>

6.footer元素

  footer:英文本意"页脚、脚注"

  使用场景:

    footer元素:可以作为其上层父级内容区块或是一个根区块的脚注。footer通常包括其相关区块的脚注信息,如作者、相关阅读链接、版权信息等

  示例:footer实例

<body>
    <footer>
        <!-- 作为整个页面的脚注 -->
        <ul>
            <li><a href="#">版权信息</a></li>
            <li><a href="#">站点地图</a></li>
            <li><a href="#">联系方式</a></li>
        </ul>
    </footer>
    <article>
        <footer>这是一个文章的底部</footer>
        <!-- 作为article区块的脚注 -->
    </article>
</body>

7.address元素

  address:英文本意"地址、住址"

  使用场景:

    address元素:主要用来在文档中呈现联系信息,包括文档作者或文档维护者的名字、网站链接、邮箱、地址、电话号码等。

  示例:address实例

<body>
    <footer>
        <div>
            <address>
                <!-- 主要用来呈现联系信息 -->
                <a href="#">地址</a>
                <a href="#">联系方式</a>
                <a href="#">邮箱</a>
            </address>
        </div>
    </footer>
</body>

8.hgroup元素

  hgroup:是h*标题组

  使用场景:

    hgroup元素:将标题及其子标题进行分组的元素。hgroup元素通常会将h1~h6元素进行分组,譬如一个内容区块的标题及其子元素算一组。

  示例:hgroup实例

<body>
    <article>
        <header>
            <hgroup>
                <!-- 当文章除主标题外还有子标题时,需要使用hgroup对标题进行分组 -->
                <h1>这是文章标题</h1>
                <h2>这是文章子标题</h2>
            </hgroup>
            <p><time datetime="2015-10-10">2015-10-10</time></p>
        </header>
        <div>这是内容</div>
        <footer>这是底部</footer>
    </article>
</body>

 

posted @ 2018-03-12 01:13  诸葛不亮  阅读(228)  评论(0编辑  收藏  举报