我已经阅读了有关W3C,WHATWG和MDN的一些语义元素,但是我对某些内容仍然不清楚。我也去了Article, on Sidebar and Aside are different!。
我有几个基本问题,如果有什么可以回答我的,或者确认我正在理解所读内容:
aside
元素不是边栏吗?
在HTML5中,我们可以使用语义标记和div
标签吗?
当没有语义标记可使用时,HTML5中可以使用div
标记(这可能与上面的问题相同)?
语义main
元素可以嵌入其他语义标签,例如table
,section
,article
和aside
,但不能嵌入仅限于?
答案 0 :(得分:2)
请记住,语义标记只是使代码更易于阅读和使页面标准化的一种方法。
这是因为在大多数用户之前,先定义divs
,然后再定义class
,例如nav
,footer
,header
等。 / p>
第一个问题;不,aside
元素本身并不表示“补充工具栏”。它仅表示与主要内容相关的内容,而不是页面主要主题的一部分。您可以使用它来包装侧边栏的内容(它本身就是一个UI组件),但也可以用于其他用途
aside元素表示页面的一部分,该部分由与aside元素周围的内容切向相关的内容组成,可以认为与该内容是分开的。这些部分通常在印刷版式中表示为侧边栏。
该元素可用于印刷效果,例如拉引号或 侧边栏,用于广告,导航元素组和其他 认为与页面主要内容分开的内容。
第二个问题。
是的,在HTML5中,您可以随时使用divs
或语义标记,但建议您尽可能使用语义;如果没有其他标记可用于定义文档的一部分,则使用div
不会出现问题。您可以互换使用它们,最后,它们中的大多数(例如main
,section
,footer
等divs
都使用不同的名称,以便于阅读)
答案 1 :(得分:2)
这总是引起极大的困惑。这是the original spec's author - Ian Hickson - on the subject in 2009 :(他的回答以粗体显示,对Tab Atkins Jr的评论)
<aside>
的命名也与此类似。名称本身和 将其描述为“侧边栏”内容显然导致了 每个人都误以为这是无所不在的网站侧栏。是。
一项非正式调查显示,该聊天中至少有3个人(我 包括)立即尝试以这种方式准确地在 中滥用
<aside>
当我们第一次听说它,当我与另一个人讨论这个问题时 朋友在闲聊时,他的回答大致是“什么让他们感到困惑? 页脚用于站点页脚,而侧面用于侧面板”。这是正确的解释。