HTML5学习笔记二

主体结构元素:section、article、nav、aside

【注】内容区块:是指将页面按逻辑进行分割的单位。例如对于书籍来说,章、节都可以成为内容区块;对于博客来说,导航菜单,文章正文,文章评论等每一个部分都可以称为内容区块。

article:可独自被外部引用的内容,可以是一篇博文,或报刊中的文章、一片论坛帖子。

View Code
<article>     
        <h1>苹果</h1>    
        <p>发表日期: 
           <time pubdate datetime="2010/10/09">2010/10/09</time>
        </p>
    <p><b>苹果</b> ,植物类水果,多次花果...(“苹果”文章正文)</p> 
    <section>    
        <h2>评论</h2>    
        <article>      
            <header>      
                <h3>发表者:陆凌牛</h3>      
                <p><time pubdate datetime="2010-10-10T19:10-08:00">1小时前</time></p>    
            </header>    
            <p>我喜欢苹果,我最喜爱的品种是红富士。</p>    
        </article>        
    </section>
</article>

section:此元素通常有内容及其标题组成,但section元素并非一个普通的容器元素,当一个容器需要被定义样式或javascript定义行为时,推荐使用div而非section,

              或者这样理解:section元素中的内容可以单独存储到数据库中或输出到word文档中

    *通常不推荐为那些没有标题的内容使用section 

也许很多人会将section和article两者混淆,下面贴段代码帮助理解。

View Code
<article>  
    <h1>苹果</h1>  
    <p><b>苹果</b> ,植物类水果,多次花果...</p>
    <section>    
        <h2>红富士</h2>    
        <p>红富士是从普通富士的芽(枝)变中选育出的着色系富的统称...</p>  
    </section>  
    <section>    
        <h2>国光</h2>    
        <p>国光苹果品,又名小国光、万寿。原产美国,1600年发现的偶然实生苗...</p>  
    </section>    
</article>

在上述代码中,内容首先是一段独立的、完整的内容,因此使用article元素。该内容是一篇关于苹果的文章,该文章分为3段,每一段都有一个独立的标题,因此使用了两个section。

在HTML5里,section元素强调的是分段或分块,而article强调独立性

section元素的使用禁忌:

1)不要将section元素用作设置样式的页面容器,那是div元素的工作。

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

3)不要为没有标题的内容区块使用section元素。

nav:用作页面导航的链接组。

View Code
<nav>
    <ul>
        <li><a href="/">主页</a></li>
        <li><a href="/events">开发文档</a></li>
        ...more...
    </ul>
</nav>
<article>
   <header>
        <h1>HTML5与CSS3的历史</h1>
        <nav>
            <ul>
                <li><a href="#HTML5">HTML5的历史</a></li>
                <li><a href="#CSS3">CSS3的历史</a></li>
                ...more...
            </ul>
        </nav>
    </header>
    <section id="HTML5">
        <h1>HTML5的历史</h1>
        <p>讲述HTML5的历史的正文</p>
    </section>
    <section id="CSS3">
        <h1>CSS3的历史</h1>
        <p>讲述CSS3的历史的正文</p>
    </section>
    ...more...
    <footer>
        <p>
            <a href="?edit">编辑</a> | 
            <a href="?delete">删除</a> | 
            <a href="?rename">重命名</a>
        </p>
    </footer>
</article>
<footer>
    <p><small>版权所有:陆凌牛</small></p>
</footer>

使用场合传统导航条、侧边栏导航、页内导航、翻页操作。

aside:用来标示当前页面或文章的附属信息部分。

1):被包含在article元素中作为主要内容的附属信息部分,其中的内容可以是与当前article内容有关的参考资料、名词解释、文献等等。

View Code
<article>  
    <h1>第四节 词法闭包</h1>  
    <p>lambda表达式可以创建词法闭包...(文章正文)</p>    
    <aside>      
        <!-- 因为这个aside元素被放置在一个article元素内部,
        所以分析器将这个aside元素的内容理解成是和article元素的内容相关联的。 -->      
        <h1>名词解释</h1>      
        <dl>        
            <dt>F#</dt>        
            <dd>F#为.Net2010中引入的新型函数型编程语言</dd>      
        </dl>    
        <dl>        
            <dt>词法闭包</dt>        
            <dd>词法闭包是指,将创建lambda表达式时的环境保存起来...(详细解释)</dd>      
       </dl>       
    </aside>  
</article>

2):在article元素之外使用,作为页面或站点全局的附属信息部分。最典型的形式是侧边栏,其中的内容可以是友情链接,博客中的其他文章列表,广告单元等等。

非主体结构元素:header、hgroup、footer

header:通常用来放置整个页面或页面内的一个内容区块的标题,当然也可以包含其他内容,例如数据表格,搜索表单,相关logo等。

<header>
    <h1>网页标题</h1>
</header>
<article>
    <header>
        <h1>文章标题</h1>
    </header>    
    <p>文章正文</p>
</article>

强调:一个网页内并未限制header元素的个数!在HTML5规范中,一个header元素通常包括至少一个heading元素(h1-h6),也可以包括hgroup元素。

hgroup:将标题及其子标题进行分组的元素。hgroup通常会将h1~h6元素进行分组,如果文章只有一个主标题,就不需要hgroup元素。

View Code
<article>
    <header>
        <h1>文章标题</h1>
        <p><time datetime="2010-03-20">2010年10月29日</time></p>
    </header>
    <p>文章正文</p>
</article>

如果有多个标题,则如下所示:

View Code
<article>
    <header>
        <hgroup>
            <h1>文章主标题</h1>
            <h2>文章子标题</h2>
        </hgroup>
        <p><time datetime="2010-03-20">2010年10月29日</time></p>
    </header>
    <p>文章正文</p>
</article>

footer:作为其上层父级内容区块或一个根区块的脚注。通常包含其相关区块的脚注信息,如作者、相关阅读链接及版权信息等。与header一样,页面并未限制footer的个数。

原文地址:https://www.cnblogs.com/w3develop/p/3046665.html