html - 对于如何在 HTML5 中创建语义正确的帖子列表(博客)结构有些疑问?

标签 html semantic-markup

我对 HTML5 非常陌生,我需要实现一个文章容器(例如,我需要为 WordPress 文章创建经典结构,其中用户会看到一系列文章在另一个下面),但我有一些疑问关于新 HTML5 组件的语义使用。

为此,我想了这样的事情:

<section>
    <h1>My Posts:</h1>
    <article>
        <header>
            <time datetime="2010-11-10" pubdate>10/11/2010</time>
            <h2>FIRST POST TITLE</h2>
        </header>
        <p>
            POSTS CONTENT
        </p>

        <footer>
            <address><a href="mailto:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a2cccdccc7d1cbd1d6c7e2cccdcc8cd1d6" rel="noreferrer noopener nofollow">[email protected]</a>">MY NAME</a></address>
        </footer>
    </article>

    <article>
        <header>
            <time datetime="2010-11-01" pubdate>01/11/2010</time>
            <h1>SECOND POST TITLE</h1>
        </header>
        <p>
            POSTS CONTENT
        </p>

        <footer>
            <address><a href="mailto:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ec828382899f859f9889ac828382c29f98" rel="noreferrer noopener nofollow">[email protected]</a>">MY NAME</a></address>
        </footer>
    </article>
</section>

所以我按以下方式推理:

  • 所有显示的帖子均包含在外部 <section> 中元素(因为遵循 HTML5 规范,<section> 表示文档的通用部分,在本例中是显示帖子的区域),<sections>有它的<h1>标题。
  • 每个帖子都由特定的 <article> 代表元素(语义上应该正确)。
  • 每个文章元素代表一个特定的帖子并包含 <header>包含发布日期和帖子标题的元素。我用了<header>元素包含这些信息,因为该元素用于表示“一组介绍性或导航辅助工具”。
  • 然后我有一个经典<p>包含文章文本内容(但我也可以将其包装到 div 中,或者如果文本又长又详细,最好使用新的 <section> 吗?)
  • 最后我将电子邮件联系方式放入 <footer>元素,因为它是有关容器的信息(<article> 元素)。

对于我的问题来说,这是一个有效的结构吗? HTML5 中的语义正确吗?

最佳答案

这对我来说看起来很棒。 headerfooter 不久前进行了更改,以允许它们在 sectionarticle 中使用.

但是,p 元素应该用于单个段落。您的文章很可能会包含多个段落,WordPress 通常会根据换行符为您生成这些段落。如果您需要将所有文章内容包装到一个元素中,则 div 就足够了。如果您的文章很长并且有多个部分,您可以使用这些部分。

address 元素一开始就让我有些困惑,因为使用它的人并不多,但它的目的是描述文档(或文档的一部分)作者的联系地址,所以你的用法是绝对正确的。

为了获得奖励积分,您可以考虑实现 hCard 标准来格式化电子邮件:http://microformats.org/wiki/hcard

基本上,除了用段落元素包裹整篇文章之外,这样绝对没问题!你在决定背后表现出了很多想法,这在当今是很少见的。

关于html - 对于如何在 HTML5 中创建语义正确的帖子列表(博客)结构有些疑问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21429785/

相关文章:

html - 为什么 <ol> 和 <dl> 没有被弃用?

用于标记功能的 HTML5 - 我应该使用什么语义标签?

html - 为什么我的 CSS 样式没有被应用?

javascript - 使用jquery删除行但不从标签的总计中删除相应的值

javascript - 更改 p 标签中单行的颜色,然后将其改回

html - 用于确认、错误和警告消息的语义 HTML

html - 呈现的标题图像。从语义上讲,我应该使用 img 标签还是背景?

html - 如何让站点根据用户的浏览器窗口自动缩放

javascript - 使用 jQuery 重置链接的背景颜色

xhtml - 为什么 XHTML 不能在带有前缀的外部工作?