我想知道如果我在H1标题中添加一个列表会有任何问题:
<h1>
<ul>
<li><a href="...">some link</a></li>
<li><a href="...">another link</a></li>
<li>current page</li>
</ul>
</h1>
该列表是“面包屑”类型导航。
或者将其插入列表中是否更好?
<ul>
<li><a href="...">some link</a></li>
<li><a href="...">another link</a></li>
<li><h1>current page</h1></li>
</ul>
答案 0 :(得分:14)
<h1>
之类的标题元素遵循 phrasing content 内容模型:如果您希望遵循HTML规范,则措辞内容只能包含常规文本或其他措辞内容。由于<ul>
元素不是措辞内容,因此在<h1>
元素中技术上不允许使用它们。
您的第二个示例 - 将<h1>
元素放在<li>
元素中 - 是有效的标记,并且是合并<h1>
和<ul>
元素的首选方法。
答案 1 :(得分:9)
在h1中包含ul是无效的,最好的检查方法是使用http://validator.w3.org/检查您的结构,这样就会考虑您正在使用的doctype。 (但它仍无效!)
答案 2 :(得分:3)
您可以使用 W3C Markup Validation Service 查看其是否有效:)
答案 3 :(得分:2)
回答你原来的问题,不,这对你的标记来说看起来不太合理,即使它在技术上有效(我不相信),我也不建议这样做
至于搜索引擎优化,h1
在某种程度上用于搜索,但我认为它不如<title>
元素重要。但是,如果您的页面没有标题,从语义上讲,我当然不会为了尝试提高排名而撬开一个标题。将“当前页面”文本放在<title>
中,如果合适,使面包屑列表成为正常的面包屑列表,如果不需要,不要打扰h1。
答案 4 :(得分:1)
这会显示 - 但我认为这将被视为不好的做法,因为列表不是标题。 你最好添加css样式,这样你就可以将列表格式化为所需的大小,字体等。