html - 将 <ol><li> 标签放在 <h1></h1> 标签之间?

标签 html html-heading

我可以将列表标签元素放在“h1”标题标签之间,还是有某种规则说这是无效的?

我从来没见过有人把“ol”和“li”放在<h1></h1>之间标签,但我不确定原因。是因为它对 SEO 不利吗?

最佳答案

所有 HTML 规范禁止 ul里面h1 ,例如参见HTML 4.01 on h1 (其中内容模型符号 %inline; 表示文本和文本级标记;例如,这不包括列表元素)。

但是,您可以使用ul里面h1从某种意义上说,浏览器会解析它并构建一个文档树,其中 ulh1 的 child .你可以通过测试如果你会发生什么来直观地看到这一点。在标题元素上设置背景颜色:

<style>
h1 { background: yellow }
</style>
<h1>Hello<ul><li>item</ul>world</h1>

所以 h1元素包含列表并在它之后继续。这与尝试嵌套时发生的情况不同,比如说 ul。里面p . (<ul> 标记隐式关闭了 p 元素。)

您是否应该这样做是另一回事。很难想象标题有意义地包含项目符号列表的情况。 HTML 中的标题元素是标题文本,与标题(可能包含标题)相反。还有一个 ulh1 里面例如,可能会使语音浏览器感到困惑,因为它们可能不准备处理此类结构。

关于 SEO,我们真的不知道搜索引擎在内部是如何工作的,也不知道它们将如何处理这种奇怪的结构。你总是可以用一些引擎来测试它。当然他们明天可能会改变这一点,特别是如果他们注意到人们试图用一些奇怪的(和无效的)HTML 来愚弄他们。此外,通过使用 h1 提高您在 SEO 中的地位的明显流行的想法对于重要的内容是基于误解。搜索引擎关注到什么程度h1标记,他们很可能认为它在页面内 具有相对重要性。所以你会说页面上的其他所有内容都没有这个元素的内容重要。

关于html - 将 <ol><li> 标签放在 <h1></h1> 标签之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26091612/

相关文章:

css - 文章中 h1 和 h2 的字体大小相同

html - 修复标题标签前奇怪的 2px 间隙

jquery - 这个界面元素的名称是什么?指示幻灯片/页面的位置

html - 两个行内 block 元素,每个 50% 宽,不能并排放置在一行中

javascript - 为什么我的组(文本和图像)不会在中间垂直对齐和水平居中,无论设置样式如何?

angular - SEO 检查无法识别 H1 和 H2 标题。 Angular

Seo Heading 什么时候不能使用标题标签

php - 在 HTML 代码中使用 PHP 注释而不是 HTML 注释有什么好处吗?

javascript - jquery 隐藏和显示 div 失败

html - 如何用侧面的线条简化此标题,使其不需要 css3 背景属性?