我想知道最好的做法是将article
元素用于只有一篇文章由几段文字组成的网页(即没有文章的文章)。从语义上讲,在没有main
的情况下将所有内容放在article
元素中是否有任何问题?
为了说明,这有什么不妥之处:
<main>
<h1>Lorem ipsum</h1>
<p> Lorem ipsum dolor sit amet...</p>
<p>Vivamus ut eros vulputate...</p>
<p>In tincidunt a neque rutrum dapibus...</p>
</main>
或者这样做更好:
<main>
<article>
<h1>Lorem ipsum</h1>
<p> Lorem ipsum dolor sit amet...</p>
<p>Vivamus ut eros vulputate...</p>
<p>In tincidunt a neque rutrum dapibus...</p>
</article>
</main>
答案 0 :(得分:2)
如果article
中唯一的main
,则不需要article
; spec表示在这种情况下它是多余的。但是,拥有一个页面没有任何问题,它可以用于动态模板化和生成页面,并且您的文章始终使用class VendingMachine {
let dispenser = Observable<Drink>
// Notify all subscribed Observers that this machine dispensed a drink.
func dispenseDrink(item: Drink) {
dispenser.onNext(item)
}
}
元素进行模板化。
答案 1 :(得分:1)
main
元素您可以忽略main
元素来做出此决定,因为它对部分/大纲没有影响。
您的两个代码段会创建不同的文档大纲(you can test it with this Web app):
1. "Lorem ipsum"
VS
1. Document
1.1 "Lorem ipsum"
您的第二个代码段没有为body
(这是一个切片根元素)提供标题元素,因此会创建一个隐含标题(即文档)。
第一个代码段中的h1
是body
的标题(即整个文档)。这在某些情况下是有意义的(例如,当它是仅包含文章的独立页面时),但对于典型的网站(包含全局导航,侧边栏等),您通常希望将您的站点名称作为文档标题。
如果您的网页是独立文档,而不是网站的一部分:
<body>
<main>
<h1>Lorem Ipsum</h1>
<p></p>
</main>
</body>
如果您拥有属于网站(使用全球导航)的典型网页:
<body>
<h1>My site</h1>
<main>
<article>
<h2>Lorem Ipsum</h2>
<p></p>
</article>
</main>
<nav>
</nav>
</body>
答案 2 :(得分:0)
在查看MDN后,似乎没有必要。它有一些你不能做的事情。
“<main>
不得是<article>
,<aside>
,<footer>
,<header>
或<nav>
元素的后代。
每个文档只能使用一个main
元素“
这是我在查看“https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main”
的页面我会说如果它有效,那么你很好。