首页 文章

HTML5最佳实践; section / header / aside / article elements

提问于
浏览
506

Web上有足够的关于HTML5的信息(以及stackoverflow),但现在我对“最佳实践”感到好奇 . section / headers / article之类的标签是新的,每个人对于何时/何地使用这些标签都有不同的看法 . 那么你们怎么看待以下布局和代码?

Website layout

1  <!doctype html>
  2      <head>
  3          <title>Website</title>
  4      </head>
  5  
  6      <body>
  7          <section>
  8              <header>
  9                  <div id="logo"></div>
 10                  <div id="language"></div>
 11              </header>
 12  
 13              <nav>
 14                  <ul>
 15                      <li>menu 1</li>
 16                      <li>menu 2</li>
 17                      <li>menu 3</li>
 18                      <li>menu 4</li>
 19                      <li>menu 5</li>
 20                  </ul>
 21              </nav>
 22  
 23              <div id="main">
 24                  <div id="main-left">
 25                      <article>
 26                          <header><h1>This is a title</h1></header>
 27  
 28                          <p>Lorem ipsum dolor sit amet, consectetur
 29                          adipiscing elit. Quisque semper, leo eget</p>
 30  
 31                          <p>Lorem ipsum dolor sit amet, consectetur
 32                          adipiscing elit. Quisque semper, leo eget</p>
 33  
 34                          <p>Lorem ipsum dolor sit amet, consectetur
 35                          adipiscing elit. Quisque semper, leo eget</p>
 36  
 37                          <p>Lorem ipsum dolor sit amet, consectetur
 38                          adipiscing elit. Quisque semper, leo eget</p>
 39                      </article>
 40                  </div>
 41  
 42                  <div id="main-right">
 43                      <section id="main-right-hot">
 44                          <h2>Hot items</h2>
 45                          <ul>
 46                              <li>Lorem ipsum</li>
 47                              <li>dolor sit</li>
 48                              <li>...</li>
 49                          </ul>
 50                      </section>
 51  
 52                      <section id="main-right-new">
 53                          <h2>New items</h2>
 54                          <ul>
 55                              <li>Lorem ipsum</li>
 56                              <li>dolor sit</li>
 57                              <li>...</li>
 58                          </ul>
 59                      </section>
 60                  </div>
 61              </div>
 62  
 63              <div id="news-items">
 64                  <header><h2>The latest news</h2></header>
 65  
 66                  <div id="item_1">
 67                      <article>
 68                          <header>
 69                              <img src="#" title="titel artikel" />
 70                              <h3>Lorem ipsum .....</h3>
 71                          </header>
 72                          <p>Lorem ipsum dolor sit amet,
 73                          adipiscing elit. Quisque semper, </p>
 74                          <a href="#">Read more</a>
 75                      </article>
 76                  </div>
 77  
 78  
 79                  <div id="item_2">
 80                      <article>
 81                          <header>
 82                              <img src="#" title="titel artikel" />
 83                              <h3>Lorem ipsum .....</h3>
 84                          </header>
 85                          <p>Lorem ipsum dolor sit amet,
 86                          adipiscing elit. Quisque semper, </p>
 87                          <a href="#">Read more</a>
 88                      </article>
 89                  </div>
 90  
 91  
 92                  <div id="item_3">
 93                      <article>
 94                          <header>
 95                              <img src="#" title="titel artikel" />
 96                              <h3>Lorem ipsum .....</h3>
 97                          </header>
 98                          <p>Lorem ipsum dolor sit amet,
 99                          adipiscing elit. Quisque semper, </p>
100                          <a href="#">Read more</a>
101                      </article>
102                  </div>
103              </div>
104  
105              <footer>
106                  <ul>
107                      <li>menu 1</li>
108                      <li>menu 2</li>
109                      <li>menu 3</li>
110                      <li>menu 4</li>
111                      <li>menu 5</li>
112                  </ul>
113              </footer>
114          </section>
115      </body>
116  </html>

第7行 section 围绕整个网站?或者只是 div

第8行 . 每个 sectionheader 开头?

这是 div 对吗?或者这必须是 section

第24行 . 使用 div 拆分左/右列 .

第25行. article 标签的正确位置?

第26行 . 是否需要将 h1 -tag放入 header -tag中?

第43行 . 内容与主要文章无关,因此我认为这是 section 而不是 aside .

第44行H2没有 header

第53行. section 没有 header

第63行 . 包含所有(非相关)新闻项目

第64行 header 与h2

第65行 . 嗯, divsection ?或者删除此 div 并仅使用 article -tag

第105行 . 页脚:-)

16 回答

  • 20

    Unfortunately the answers given so far (including the most voted) are either "just" common sense, plain wrong or confusing at best. None of crucial keywords1 pop up!

    我写了3个答案:

    要理解这里讨论的html元素的作用,你必须知道它们中的一些部分是文档 . 每个html文档都可以是sectioned according to the HTML5 outline algorithm,目的是创建一个大纲-⁠或内容表(TOC) . 大纲通常不可见(这些日子),但是作者应该使用html,使得结果大纲反映他们的意图 .

    您可以创建具有这些元素的部分,而不是其他内容:

    • 创建(显式)子部分

    • <section> 部分

    • <article> 个部分

    • <nav> 部分

    • <aside> 个部分

    • 创建同级部分或子部分
      带有 <h*> 2的

    • 未指定类型的部分(不是全部都这样做,见下文)

    • 升级关闭当前显式(子)部分

    部分可以命名为:

    • <h*> 创建了部分名称

    • <section|article|nav|aside> 部分将由第一个 <h*> 命名(如果有的话)

    • 这些 <h*> 是唯一不自行创建部分的部分

    部分还有一件事:以下上下文(即元素)创建“轮廓边界” . 它们包含的任何部分都是私有的:

    • 文件本身 <body>
      <td>

    • 表格单元格

    • <blockquote>

    • <details><dialog><fieldset><figure>

    • 别的

    title

    示例HTML <body> <h3>如果你想让兄弟姐妹处于最高级...... </ h3> <h3> ......你必须使用<h *> ... </ h3> <article> <的无类型部分h1> ......任何其他部分将下降</ h1> </ article> <nav> <ul> <li> <a href=...> ... </a> </ li> </ ul > </ nav> </ body>有这个大纲1.如果你想让兄弟姐妹处于最高级...... 2.你必须使用带有<h *> ... 2.1的无类型部分 . ......任何其他部分都会下降2.2 . (未命名的导航)

    这提出了两个问题:

    What is the difference between <article> and <section>?

    • 都可以:

    • 互相嵌套

    • 在不同的上下文或嵌套级别中采用不同的概念

    • <section> 就像书章一样

    • 他们通常有兄弟姐妹(也许在不同的文件?)

    • 他们有共同点,就像书中的章节一样

    • 一位作者,一位 <article> ,至少在最低级别

    • 标准示例:单个博客评论

    • 博客条目本身也是一个很好的例子

    • 博客条目 <article> 及其评论 <article> 也可以用 <article> 包裹

    • 这是一些"complete"的东西,不是一系列类似的东西

    <article> 中的

    • <section> 就像一本书中的章节
      a <section>
    • <article> s就像一卷(一系列中)中的诗

    How do <header>, <footer> and <main> fit in?

    • 他们对切片没有任何影响

    • <header><footer>

    • 它们允许您标记每个部分的区域

    • 甚至在一个部分你可以多次使用它们

    • 以区别于本节的主要部分

    • 仅受作者品味的限制

    • <header>

    • 可以标记本节的 Headers /名称

    • 可能包含此部分的徽标

    • 无需位于该部分的顶部或上部

    • <footer>

    • 可以标记本节的作者/作者

    • 可以位于该部分的顶部

    • 甚至可以高于 <header>

    • <main>

    • 只允许一次

    • 标记顶级部分的主要部分(即文档, <body>

    • 小节本身没有主要部分的标记

    • <main> 甚至可以“隐藏”在文档的某些子部分中,而文档的 <header><footer> 则不能(该标记会标记该子部分的页眉/页脚)

    • <article> sections3中不允许这样做

    • 有助于区分“真实的东西”文档的非 Headers ,非页脚,非主要内容,如果在您的情况下有意义...


    1来到头脑:概述,算法,隐式切片
    2我用<h *>作为<h1>,<h2>,<h3>,<h4>,<h5>和<h6>的简写
    3 <aside>或<nav>中既不允许<main>,但这并不奇怪 . - 实际上:<main>只能隐藏(嵌套)降序<section>部分或出现在顶层,即<body>

  • 19

    实际上,当涉及页眉/页脚时,你是完全正确的 . 以下是有关如何/应该使用每个主要HTML5标签的一些基本信息(我建议阅读底部链接的完整源代码):

    section - 用于将与主题相关的内容分组在一起 . 听起来像一个div元素,但事实并非如此 . div没有语义含义 . 在用截面元素替换所有div之前,总是问自己:“所有内容是否相关?”旁边 - 用于切向相关的内容 . 仅仅因为某些内容出现在主要内容的左侧或右侧是不足以使用aside元素的原因 . 问问自己是否可以删除旁边的内容而不降低主要内容的含义 . Pullquotes是切向相关内容的示例 . header - header元素与header(或masthead)的一般接受用法之间存在重要区别 . 页面中通常只有一个 Headers 或“ Headers ” . 在HTML5中,您可以拥有任意数量的内容 . 该规范将其定义为“一组介绍性或导航辅助工具” . 您可以在网站的任何部分使用标头 . 实际上,您可能应该在大多数部分中使用 Headers . 该规范将section元素描述为“内容的主题分组,通常带有 Headers . ”nav - 用于主要导航信息 . 组合在一起的一组链接不足以使用nav元素 . 另一方面,站点范围的导航属于nav元素 . 页脚 - 听起来像是对位置的描述,但不是 . 页脚元素包含有关其包含元素的信息:谁写了它,版权,相关内容的链接等 . 而我们通常只有一个页脚用于整个文档,HTML5允许我们在部分内也有页脚 . 资料来源:http://www.anthonycalzadilla.com/2010/08/html5-section-aside-header-nav-footer-elements-not-as-obvious-as-they-sound/

    另外,这里是 article 的描述,在上面的源代码中找不到:

    article - 用于指定独立,自包含内容的元素 . 一篇文章应该有意义 . 在用文章元素替换所有div之前,总是问自己:“是否可以独立于网站的其他部分阅读它?”

  • 1

    我建议阅读W3 wiki page about structuring HTML5

    <header>用于包含网站的 Headers 内容 . <footer>包含网站的页脚内容 . <nav>包含导航菜单或页面的其他导航功能 . <article>包含一个独立的内容,如果将其作为RSS项目进行联合,则会有意义,例如新闻项目 . <section>用于将不同的文章分组到不同的目的或主题,或定义单个文章的不同部分 . <aside>定义与其周围的主要内容相关的内容块,但不是其流程的核心 .

    它们包括我在这里清理过的an image

    html5

    在代码中,看起来像这样:<body>
    <头> </报头>

    <NAV> </ NAV> <section id =“sidebar”> </ section> <section id =“content”> </ section> <预留> </预留> <页脚> </页脚> </ BODY> 让我们更详细地探讨一些HTML5元素 . <section> <section>元素用于包含不同的功能区域或主题区域,或者将文章或故事分成不同的部分 . 因此,在这种情况下:“sidebar1”包含将在网站的每个页面上保留的各种有用链接,例如“订阅RSS”和“从商店购买音乐” . “main”包含此页面的主要内容,即博客文章 . 在网站的其他页面上,此内容将更改 . 它是一个相当通用的元素,但仍然比普通的旧<div>具有更多的语义含义 . <article> <article>与<section>有关,但明显不同 . <section>用于对不同的内容或功能部分进行分组,而<article>用于包含相关的单独独立内容,例如各个博客帖子,视频,图像或新闻项目 . 可以这样想 - 如果你有很多内容项目,每个项目都适合自己阅读,并且在RSS提要中作为单独的项目进行联合是有意义的,那么<article>适合于标记他们了在我们的示例中,<section id =“main”>包含博客条目 . 每个博客条目都适合作为RSS提要中的项目进行联合,并且在单独阅读时非常有意义,因此<article>非常适合他们:<sectionID = “主”> <article> <! - 第一篇博文 - > </ article> <article> <! - 第二篇博文 - > </ article> <article> <! - 第三篇博文 - > </ article> </节> 简单吧?请注意,您也可以在文章中嵌套部分,这样做是有意义的 . 例如,如果这些博客文章中的每一篇都具有不同部分的一致结构,那么您也可以在文章中放置部分 . 它可能看起来像这样:<article> <section id =“introduction”> </ section> <section id =“content”> </ section> <section id =“summary”> </ section> </文章> 如上所述<header>和<footer>,<header>和<footer>元素的目的是分别包装页眉和页脚内容 . 在我们的特定示例中,<header>元素包含徽标图像,<footer>元素包含版权声明,但如果您愿意,可以添加更精细的内容 . 另请注意,每个页面上可以有多个页眉和页脚 - 以及我们刚才讨论的顶级页眉和页脚,您还可以在每个<article>中嵌套<header>和<footer>元素,在这种情况下,他们只会适用于该特定文章 . 添加到上面的示例:<article> <头> </报头> <section id =“introduction”> </ section> <section id =“content”> </ section> <section id =“summary”> </ section> <页脚> </页脚> </文章> <nav> <nav>元素用于标记导航链接或其他构造(例如搜索表单),这些构造将带您到当前站点的不同页面或当前页面的不同区域 . 其他链接(例如赞助商链接)不计算在内 . 您当然可以在<nav>中包含 Headers 和其他结构元素,但这不是强制性的 . <aside>您可能已经注意到我们使用<aside>元素来标记第二个侧边栏:包含最新演出和联系方式的侧边栏 . 这是非常合适的,因为<aside>用于标记与主流相关的信息,但不直接适合它 . 这个案子的主要内容都是关于乐队的! <aside>的其他好选择是关于博客文章的作者,乐队传记或乐队唱片以及购买他们的专辑的链接的信息 . <div>离开哪里?因此,在我们的页面上使用所有这些伟大的新元素时,简单的<div>的日子肯定会被编号?没有 . 事实上,<div>仍然具有完全有效的用途 . 当没有其他更合适的元素可用于对内容区域进行分组时,您应该使用它,这通常是在纯粹使用元素将内容组合在一起以用于样式/视觉目的时 . 一个常见的例子是使用<div>来包装页面上的所有内容,然后使用CSS将所有内容集中在浏览器窗口中,或者将特定的背景图像应用于整个内容 .

  • 0
    • 部分应仅用于包装文档内的部分(如章节和类似部分)

    • 带 Headers 标签:NO . Headers 标记表示页眉的包装,不要与H1,H2等混淆 .

    • 哪个div? :d

    • 是的

    • 来自W3C学校:

    标签定义外部内容 . 外部内容可以是来自外部提供商的新闻文章,来自网络日志(博客)的文本,来自论坛的文本,或来自外部来源的任何其他内容 .

    • 不, Headers 标记有不同的用途 . H1,H2等代表文档 Headers H1是最重要的

    我没有回答其他问题,因为你很难猜到你指的是什么 . 如果还有其他问题,请告诉我 .

  • 113

    主要错误:你在整个文件中有"divitis" .
    为什么这个?

    <header>
        <div id="logo"></div>
        <div id="language"></div>
    </header>
    

    代替:

    <header role="banner">
        <!-- Not the best -->
        <h1 id="logo"></h1> <!-- or <figure> and <figcaption>, or <h1> and <p>... -->
        <h2 id="language"></h2>
    
        <!-- Better, if the IDs have not semantic sense -->
        <h1></h1>
        <h2></h2>
    </header>
    

    要对此 Headers 进行样式化,请使用CSS层次结构:body> section> header> h1,body> section> header> h2

    更多,...第63行:为什么 Headers 包裹h2?如果您在 Headers 中不包含任何其他元素,请使用单个h2 .
    请记住,您的结构不是对文档进行样式化,而是构建一个自我解释的文档 .

    将此应用于文档的其余部分;祝好运 ;)

  • 461
    <body itemscope itemtype="http://schema.org/Blog">
     <header>
      <h1>Wake up sheeple!</h1>
      <p><a href="news.html">News</a> -
         <a href="blog.html">Blog</a> -
         <a href="forums.html">Forums</a></p>
      <p>Last Modified: <span itemprop="dateModified">2009-04-01</span></p>
      <nav>
       <h1>Navigation</h1>
       <ul>
        <li><a href="articles.html">Index of all articles</a></li>
        <li><a href="today.html">Things sheeple need to wake up for today</a></li>
        <li><a href="successes.html">Sheeple we have managed to wake</a></li>
       </ul>
      </nav>
     </header>
     <main>
      <article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting">
       <header>
        <h1 itemprop="headline">My Day at the Beach</h1>
       </header>
       <div itemprop="articleBody">
        <p>Today I went to the beach and had a lot of fun.</p>
        ...more content...
       </div>
       <footer>
        <p>Posted <time itemprop="datePublished" datetime="2009-10-10">Thursday</time>.</p>
       </footer>
      </article>
      ...more blog posts...
     </main>
     <footer>
      <p>Copyright ©
       <span itemprop="copyrightYear">2010</span>
       <span itemprop="copyrightHolder">The Example Company</span>
      </p>
      <p><a href="about.html">About</a> -
         <a href="policy.html">Privacy Policy</a> -
         <a href="contact.html">Contact Us</a></p>
     </footer>
    </body>
    

    https://www.w3.org/TR/2014/REC-html5-20141028/sections.html#the-nav-element

  • 3

    根据Nathan's answer,这是完全合理的(对于红色和橙色部分,也许你可以分别使用 divand/or headerfooter ):

    enter image description here

  • 1

    [explanations in my “main answer”]

    line 7. section around the whole website? Or only a div?

    都不是 . 造型:使用 <body> ,它已经存在 . 对于切片/语义:as detailed in my example HTML其效果与实用性相反 . 已包装内容的额外包装没有改善,但噪音 .

    line 8. Each section start with a header?

    不,作者选择将内容通常概括为“ Headers ”的位置 . 如果 Headers 内容清晰可辨,没有额外的标记,它可能完全没有 <header> . 这也是作者的选择 .

    line 23. Is this div right? or must this be a section?

    <div> 可能是错的 . 这取决于意图:只有造型才能正确 . 如果是的话语义目的是错误的:它应该是 <article> 而不是as shown in my other answer . <article> 也适用于样式和切片的组合 .

    <section> 在这里看起来不对,因为在这之前或之后没有类似的部分,就像书中的章节一样 . (这是 <section> 的目的) .

    line 24. Split left/right column with a div.

    没有为什么?

    line 25. Right place for the article tag?

    是的,有道理 .

    line 26. Is it required to put your h1-tag in the header-tag?

    没有 . 一个单独的 <h*> 元素可能永远不需要进入 <header> (但如果你愿意,它可以),因为它已经很清楚它是即将到来的 Headers . - 例如,如果 <header> 也包含标语(标有 <p> ),那将是有意义的 .

    line 43. The content is not related to the main article, so I decided this is a section and not an aside.

    这是一个误解, <aside> 必须与周围的内容“切向相关” . 重点是:如果内容只是“切向相关”或根本没有,请使用 <aside>

    尽管如此,除了 <aside> 是一个不错的选择之外, <article> 可能仍然比 <section> 更好,因为“热门项目”和“新项目”不会像书中的两章那样被阅读 . 你可以完美地选择其中一个,而不是另一个像某个东西的替代排序,而不是整体的两个部分 .

    line 44. H2 without header

    是很棒的 .

    line 53. section without header

    好吧,没有 <header> ,但是 <h2> -heading很清楚,这部分的哪个部分是 Headers .

    line 63. Div with all (non-related) news items

    <article><aside> 可能会更好 .

    line 64. header with h2

    已经讨论过了 .

    line 65. Hmm, div or section? Or remove this div and only use the article-tag

    究竟!删除 <div> .

    line 105. Footer :-)

    非常合理 .

  • 1

    为什么不在商品标签上添加item_1,item_2等ID?像这样:

    <article id="item_1">
    ...
    </article>
    <article id="item_2">
    ...
    </article>
    ...
    

    似乎没有必要添加包装器div . ID值在HTML中没有语义含义,所以我认为这样做是完全有效的 - 你并不是说第一篇文章总是item_1,只是当前页面上下文中的item_1 . ID不需要具有与上下文无关的任何含义 .

    另外,关于第26行的问题,我认为那里不需要<header>标签,我认为你可以省略它,因为它在“main-left”div中是独立的 . 如果它位于主要文章列表中,您可能只想为了保持一致而包含<header>标记 .

  • 0

    这是我工作的例子

    enter image description here

  • 5

    The div elements can be replaced with the new elements: header, nav, section, article, aside, and footer.

    该文档的标记可能如下所示:

    <body>
         <header>...</header>
         <nav>...</nav>
         <article>
              <section>
                   ...
              </section>
         </article>
         <aside>...</aside>
         <footer>...</footer>
    </body>
    

    您可以在this article on A List Apart中找到更多信息 .

  • 10

    编辑:不幸的是我必须纠正自己 .

    请参阅下面的https://stackoverflow.com/a/17935666/2488942以获取包含示例的w3规范的链接(与我之前看到的不同) .

    但是后来.... Here是一篇很好的文章,感谢@Fez .

    我最初的回答是:

    w3规范的结构方式:

    4.3.4第4.3.4.1节主体元素4.3.4.2截面元素4.3.4.3导航元素4.3.4.4文章元素....

    我觉得 sectionarticle 更高 . 如this answer section 组中提到的主题相关内容 . 无论如何,文章中的内容在我看来是主题相关的,因此,至少对我来说,这也表明 section 组在更高级别与 article 相比 .

    我认为它的意思是这样使用:

    section: Chapter 1
        nav: Ch. 1.1
             Ch. 1.2
    
        article: Ch. 1.1
                 some insightful text
    
        article: Ch. 1.2
                 related to 1.1 but different topic
    

    或者对于新闻网站:

    section: News
        article: This happened today
        article: this happened in England
    
    section: Sports
        article: England - Ukraine 0:0
        article: Italy books tickets to Brazil 2014
    
  • 1

    我不认为你应该在新闻项目摘要上使用标签(第67,80,93行) . 你可以使用部分或只是有封闭的div .

    一篇文章需要能够独立存在并且仍然有意义或完整 . 由于它不完整或只是一个提取物,它不能是一篇文章,它更像是一个部分 .

    当您点击“阅读更多”时,后续页面即可

  • 17

    我想更准确地澄清这个问题,如果我错了就纠正我让我们举一个Facebook Wall的例子

    1.Wall属于“section”标签,表示它与页面分开 .

    2.所有帖子都在“文章”标签下 .

    然后我们有单个帖子,它位于“section”标签下 .

    3.我们 Headers 为“X用户发布此内容”,我们可以使用“ Headers ”标签 .

    然后在内部帖子中我们有三个第一部分是图像/文本,比如分享注释按钮和评论框 .

    5.对于评论框,我们可以使用文章标签 .

  • 189

    根据the explanation in my “main” answer,有关文件应根据大纲进行标记 .

    在以下两个表格中,我展示了:

    • 原始HTML及其大纲

    • 可能的预期大纲和HTML

    原始html(缩写)<body> <section> <header> <div id = logo> </ div> <div id = language> </ div> </ header> <nav> ... </ nav> <div id = main> <div id = main-left> <article> <header> <h1>真实的东西</ h1> </ header> </ article> </ div> <div id = main-right> <section id = main-right-hot> <h2>热门项目</ h2> </ section> <section id = main-right-new> <h2>新项目</ h2> </ section> </ div> </ div> <div id = news-items> <header> <h2>最新消息</ h2> </ header> <div id = item_1> <article> <header> <h3> ... </ h3> < / header> <a>阅读更多内容</a> </ article> </ div> <div id = item_2> <article> <header> <h3> ... </ h3> </ header> <a>阅读更多</a> </ article> </ div> <divid = item_3> <article> <header> <h3> ... </ h3> </ header> <a>阅读更多内容</a> </ article> </ div> </ div> <footer> <ul > <li> ... </ ul> </ footer> </ section>与大纲相关的原始html <body> <section> //徽标和语言<nav> ... </ nav> <article> <h1 >真实的东西</ h1> </ article> <section> <h2>热门项目</ h2> </ section> <section> <h2>新项目</ h2> </ section> <h2>最新消息</ h2> <article> <h3> ... </ h3> </ article> <article> <h3> ... </ h3> </ article> <article> <h3> ... </ h3 > </ article> //页脚链接</ section>结果大纲1.(无 Headers 文档)1.1 . (无 Headers 部分)1.1.1 . (无 Headers 导航)1.1.2 . 真实的东西(h1)1.1.3 . 热门产品(h2)1.1.4 . 新项目(h2)1.1.5 . 最新消息(h2)1.1.6 . 新闻item_1(h3)1.1.7 . 新闻item_2(h3)1.1.8 . news item_3(h3)原件的轮廓绝对不是预期的 .

    下表显示了我对改进版本的建议 . 我使用以下标记:

    • <已删除>

    • <NEW_OR_CHANGED_ELEMENT>

    • <element MOVED_ATTRIBUTE=1>

    可能的预期大纲1.(主要)1.1 . 真实的东西1.2 . (热门和新的)1.2.1 . 热门项目1.2.2 . 新项目2.最新消息2.1 . 新闻item_1 2.2 . 新闻item_2 2.3 . news item_3修改了html <body> <section> <header> <ASIDE> <div id = logo> </ div> <div id = language> </ div> </ ASIDE> </ header> <nav> ... </ nav> <ARTICLE id = main> <div id = main-left> <article ID = main-left> <header> <h1>真实的东西</ h1> </ header> </ article> </ div > <ARTICLE id = main-right> <ARTICLE id = main-right-hot> <h2>热门项目</ h2> </ ARTICLE> <ARTICLE id = main-right-new> <h2>新项目</ h2 > </ ARTICLE> </ ARTICLE> </ ARTICE> <ARTICLE id = news-items> <header> <h2>最新消息</ h2> </ header> <div id = item_1> <article ID = item_1> <header> <h3> ... </ h3> </ header> <a>阅读更多内容</a> </ article> </ div> <div id = item_2> <article ID = item_2> <header> < h3> ... </ h3> </ header> <a>阅读更多内容</a> </ article> </ div> <div id = item_3> <文章ID = item_3> <header> <h3> .. . </ h3> </ header> <a>阅读更多内容</a> </ article> </ div> </ ARTICLE> <footer> <NAV> <ul> <li> ... </ ul> < / NAV> </ footer> </ section>``结果大纲1.(无 Headers 文件)1.1 . (无 Headers 的徽标和郎)1.2 . (无 Headers 导航)1.3 . (无 Headers 主要)1.3.1真实的东西1.3.2 . (无 Headers 热和新)1.3.2.1 . 热门项目1.3.2.2 . 新项目1.4 . 最新消息1.4.1 . 新闻item_1 1.4.2 . 新闻item_2 1.4.3 . news item_3 1.5 . (无 Headers 页脚导航)修改后的HTML反映了比原始更好的预期轮廓方式 .

  • 59

    “第23行 . 这个div是对的吗?或者这必须是一个部分?“

    两者都没有 - 为此目的有一个 main 标签,每页只允许使用一次,并且应该用作主要内容的包装器(与侧边栏或站点范围的标头相比) .

    <main>
        <!-- The main content -->
    </main>
    

    http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element

相关问题