Dan*_*man 5 html semantic-markup
如果我将文章标题(也是页面的主标题)放在标签之外<article>,则文档大纲的页面主标题就是文章标题。这似乎是可取的。
IE
<h1>My wonderful article</h1>
<article>
<p>Text of my article</p>
</article>
Run Code Online (Sandbox Code Playgroud)
然而<article>标签规范说
Article 元素表示构成文档或站点的独立部分的内容部分;
我对此的解释是作为一个“独立部分”,它需要其中的文章标题。标题绝对是文章的从属部分。
但是,如果您将文章标题放在标签中<article>,则该页面在文档大纲中不会有标题。
这里的最佳实践是什么?
当文档只包含这篇文章时,则省略该article元素:
<body>\n <h1>My wonderful article</h1>\n <p>\xe2\x80\xa6</p>\n</body>\nRun Code Online (Sandbox Code Playgroud)\n\n当文档还包含其他内容(例如站点范围的导航、包含相关文章的侧边栏等)时,您不希望文章\xe2\x80\x99s 标题成为文档\xe2\ x80\x99s 标题:
\n\n<!-- wrong! -->\n<body> \n <h1>My wonderful article</h1>\n <article></article>\n <nav></nav>\n</body>\nRun Code Online (Sandbox Code Playgroud)\n\n为什么?因为站点范围的导航不应该在仅与文章相关的标题范围内。文档标题应描述文档的全部内容,而不仅仅是其主要部分。所以你需要这样一个额外的文档标题。
\n\n要么明确提供文档标题(通常为\xc2\xb9,使用站点名称)\xe2\x80\xa6
\n\n<body> \n <h1>My wonderful site</h1>\n <article><h1>My wonderful article</h1></article>\n <nav></nav>\n</body>\nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6 或省略它(如果必须,则为 \xe2\x80\xa6;这要求您在适当的地方使用分段元素),本质上是在大纲中创建一个未标记的条目:
\n\n<body> \n <article><h1>My wonderful article</h1></article>\n <nav></nav>\n</body>\nRun Code Online (Sandbox Code Playgroud)\n\n(\xc2\xb9 我的一些相关答案,包含更多详细信息:1、2、3。)
\n