美好的一天,

我刚开始学习HTML5 – 没有问题,一切都很顺利.

关于< article>,< section>的语义用法,我只有一个小问题.和< div>标签.

我知道< div> element没有语义含义 – 在HTML5中,它应该主要用于脚本/样式目的.这里的一切都很清楚.我在SO问题中找到了很多有用的信息:HTML5 has new tags article,section and aside. When should I use div tag?.

但是,我在< article>中遇到了一些问题.和< section>用法. W3C HTML5规范说< article>标签

Specifies independent,self-contained content,Could be a news-article,blog post,forum post,or other articles which can be distributed independently from the rest of the site.

其中< section>应该使用标签

For a section in a document. Such as chapters,headers,footers,or any other sections of the document.

从理论上讲,一切都很清楚.但是,在为我的第一个HTML5网站准备代码时,我发现它有点难以区分.

让我解释一下我的网站结构:

>背景被添加到body元素.工作完美.
>我在每个HTML / CSS项目中使用960.gs网格系统.这次我也在使用它.你肯定知道,它需要添加一个容器(在我的例子中有一个类:container_12).

总结我的结构的解释:

>作为主要容器,我使用了< div class =“container_12”>
>我的文档中的第一个元素是< header>.它包含很少的元素:滑块和顶栏.顶栏是< section>.它有两个子元素:左侧的电话号码和右侧的语言列表.对于这些元素,我使用了< section>太.对于滑块(或内页上的短口号占位符),我使用了< section>标签包含两个< section>标签:左右列.
>作为主页的主要内容包装器,我决定使用< section>元件.对于我正在使用的内页< article>对于像关于我们等页面,对于博客列表,我正在使用< section>列表< article>里面的标签.对于单个帖子,我正在使用< article>元件.
>显然,对于一个页脚,我正在使用< footer>具有三个< section>的元素元素作为列包装器.

转换为HTML5之前的布局:

<div class="container_12">
    <div class="grid_12 header">
        <div class="bar grid_12 alpha omega">
            <div class="grid_6 alpha">
                Phone number
            </div>
            <div class="grid_6 omega">
                German - English - french
            </div>
        </div>
        <div class="grid_6 alpha">
            logoTYPE
        </div>
        <div class="grid_6 omega">
            <ul>
                navigation
            </ul>
        </div>
        <div class="grid_12 alpha omega">
            <div class="grid_6 alpha">
                Slider I col
            </div>
            <div class="grid_6 omega">
                Slider II col
            </div>
        </div>
    </div>
    <div class="grid_12 content">

    </div>
    <div class="grid_12 footer">
        <div class="grid_4 alpha">
            Footer I col
        </div>
        <div class="grid_4">
            Footer II col
        </div>
        <div class="grid_4 omega">
            Footer III col
        </div>
    </div>
</div>

将其转换为HTML5后,这是我的代码:

<div class="container_12">
    <header class="grid_12">
        <section class="bar grid_12 alpha omega">
            <section class="grid_6 alpha">
                Phone number
            </section>
            <section class="grid_6 omega">
                German - English - french
            </section>
        </section>
        <section class="grid_6 alpha">
            logoTYPE
        </section>
        <nav class="grid_6 omega">
            <ul>
                navigation
            </ul>
        </nav>
        <section class="grid_12 alpha omega">
            <section class="grid_6 alpha">
                Slider I col
            </section>
            <section class="grid_6 omega">
                Slider II col
            </section>
        </section>
    </header>

    <section class="grid_12 content">

    </section>
    <footer class="grid_12">
        <section class="grid_4 alpha">
            Footer I col
        </section>
        <section class="grid_4">
            Footer II col
        </section>
        <section class="grid_4 omega">
            Footer III col
        </section>
    </footer>
</div>

我的方法是否正确?你能添加或更正一些东西吗?

为了避免任何问题:我知道< section>不是< div>的替代品.

解决方法

好吧,回答这个问题的一种方法是使用像 http://gsnedders.html5.org/outliner/这样的工具来查看文档的大纲.你会发现每个部分都需要一个标题来理解,所以没有一些内容就很难说.如果每个部分都有一个H!有意义的标签,然后它通常是正确的.如果某个部分不需要h1那么它通常是错误的.

章节应该自己有意义,没有背景.理解这一点的一种简单方法是考虑RSS提要 – 提要上的每个条目都像一个部分.如果你将它添加到RSS提要(或者在那种情况下它会有意义),那么它可能是一个部分.如果它只是页脚上的一列,那么你就不会把它放在RSS源上,所以它可能不是一个部分.

基于此,我可能会做这样的事情(基于我对你每个位置的假设).我还添加了WAI-ARIA标志性角色,因为它们很简单,当您使用屏幕阅读器时会产生很大的不同.

<div class="container_12">
    <header class="grid_12" role="banner">
        <div class="bar grid_12 alpha omega">
            <div class="grid_6 alpha">
                Phone number
            </div>
            <div class="grid_6 omega">
                German - English - french
            </div>
        </div>
        <div class="grid_6 alpha">
            logoTYPE
        </div>
        <nav class="grid_6 omega" role="navigation">
            <ul>
                navigation
            </ul>
        </nav>
        <div class="grid_12 alpha omega">
            <div class="grid_6 alpha">
                Slider I col
            </div>
            <div class="grid_6 omega">
                Slider II col
            </div>
        </div>
    </header>

    <section class="grid_12 content" role="main">
          <!-- Not sure what goes in here? Let's assume it's the main content. -->
    </section>
    <footer class="grid_12">
        <div class="grid_4 alpha">
            Footer I col
        </div>
        <div class="grid_4">
            Footer II col
        </div>
        <div class="grid_4 omega">
            Footer III col
        </div>
    </footer>
</div>

HTML5结构 – 和用法的更多相关文章

  1. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 详解HTML5中的picture元素响应式处理图片

    这篇文章主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. html5利用canvas实现颜色容差抠图功能

    这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  4. HTML5拖拽功能实现的拼图游戏

    本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

  5. HTML5实现直播间评论滚动效果的代码

    这篇文章主要介绍了HTML5实现直播间评论滚动效果的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. 使用Html5多媒体实现微信语音功能

    这篇文章主要介绍了使用Html5多媒体实现微信语音功能,需要的朋友可以参考下

  7. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  8. html5 拖拽及用 js 实现拖拽功能的示例代码

    这篇文章主要介绍了html5 拖拽及用 js 实现拖拽,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. HTML5自定义视频播放器源码

    这篇文章主要介绍了HTML5自定义视频播放器源码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  10. HTML5新增form控件和表单属性实例代码详解

    这篇文章主要介绍了HTML5新增form控件和表单属性实例代码详解,需要的朋友可以参考下

随机推荐

  1. 微信小程序canvas实现水平、垂直居中效果

    这篇文章主要介绍了小程序中canvas实现水平、垂直居中效果,本文图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. H5最强接口之canvas实现动态图形功能

    这篇文章主要介绍了H5最强接口之canvas实现动态图形功能,需要的朋友可以参考下

  4. Canvas高级路径操作之拖拽对象的实现

    这篇文章主要介绍了Canvas高级路径操作之拖拽对象的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. html5视频自动横过来自适应页面且点击播放功能的实现

    这篇文章主要介绍了h5视频自动横过来自适应页面且点击播放,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. 详解HTML5中的picture元素响应式处理图片

    这篇文章主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. canvas像素点操作之视频绿幕抠图

    这篇文章主要介绍了canvas像素点操作之视频绿幕抠图的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. html5利用canvas实现颜色容差抠图功能

    这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  9. canvas绘制视频封面的方法

    这篇文章主要介绍了canvas绘制视频封面的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. HTML5拖拽功能实现的拼图游戏

    本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

返回
顶部