HTML 5语义标签

时间:2018-11-09 16:38:20

标签: html5 semantic-markup

我已经阅读了有关W3C,WHATWG和MDN的一些语义元素,但是我对某些内容仍然不清楚。我也去了Article, on Sidebar and Aside are different!

我有几个基本问​​题,如果有什么可以回答我的,或者确认我正在理解所读内容:

  • aside元素不是边栏吗?

  • 在HTML5中,我们可以使用语义标记和div标签吗?

  • 当没有语义标记可使用时,HTML5中可以使用div标记(这可能与上面的问题相同)?

  • 语义main元素可以嵌入其他语义标签,例如tablesectionarticleaside,但不能嵌入仅限于?

2 个答案:

答案 0 :(得分:2)

请记住,语义标记只是使代码更易于阅读和使页面标准化的一种方法。

这是因为在大多数用户之前,先定义divs,然后再定义class,例如navfooterheader等。 / p>

第一个问题;不,aside元素本身并不表示“补充工具栏”。它仅表示与主要内容相关的内容,而不是页面主要主题的一部分。您可以使用它来包装侧边栏的内容(它本身就是一个UI组件),但也可以用于其他用途

来自the HTML5 spec

  

aside元素表示页面的一部分,该部分由与aside元素周围的内容切向相关的内容组成,可以认为与该内容是分开的。这些部分通常在印刷版式中表示为侧边栏。

     

该元素可用于印刷效果,例如拉引号或   侧边栏,用于广告,导航元素组和其他   认为与页面主要内容分开的内容。

第二个问题。

是的,在HTML5中,您可以随时使用divs或语义标记,但建议您尽可能使用语义;如果没有其他标记可用于定义文档的一部分,则使用div不会出现问题。您可以互换使用它们,最后,它们中的大多数(例如mainsectionfooterdivs都使用不同的名称,以便于阅读)

答案 1 :(得分:2)

这总是引起极大的困惑。这是the original spec's author - Ian Hickson - on the subject in 2009 :(他的回答以粗体显示,对Tab Atkins Jr的评论)

  
    
        
  1. <aside>的命名也与此类似。名称本身和     将其描述为“侧边栏”内容显然导致了     每个人都误以为这是无所不在的网站侧栏。
  2.     
  
     

是。

     
    

一项非正式调查显示,该聊天中至少有3个人(我     包括)立即尝试以这种方式准确地在 中滥用<aside>     当我们第一次听说它,当我与另一个人讨论这个问题时     朋友在闲聊时,他的回答大致是“什么让他们感到困惑?     页脚用于站点页脚,而侧面用于侧面板”。

  
     

这是正确的解释。