0

我现在正在研究一个新博客的设计和标记,我找到了一个地方,我很想在一个标题标签中嵌套两个锚标签:

<h3><a>Popular<a/>|<a>Recent</a></h3>

看起来像这样:


(来源:autochemky.com

这样做的目的(显然)是启用“POPULAR”作为显示热门文章的链接,并启用“RECENT”作为显示最近文章的链接。. . 单击一个或另一个只会更改侧边栏上的可见内容(文章列表),而不会链接到新页面(通过 ajax 或它们都已加载并且一个是隐藏的 div)。

这样做是一种避免涉及多个 h3 元素或多个可见文章列表的额外潜在不必要代码的措施。

我想我的问题是(按重要性排序并假设 HTML5):

标记是否有效/可接受?

这会对 SEO 产生任何现实/显着的影响吗?

您愿意以不同的方式获得相同的结果吗?

4

2 回答 2

0

假设 HTML5 - 这是可以接受的,HTML5 引入了任何元素都可以在<a>标签内(非常肯定)

HTML5 的变化 尽管以前的 HTML 版本将 a 元素限制为仅包含短语内容(本质上,在以前的版本中称为“内联”内容),但 a 元素现在是透明的;也就是说,现在允许 a 元素的实例也包含流内容(本质上,在以前的版本中称为“块”内容)——如果该 a 元素实例的父元素是允许包含流内容。

对 SEO 没有显着影响,这是一个小细节,<h1>如果这是一个部分的标题,你可能应该使用一个标签,因为这是新 HTML5 语义的基础。

我肯定会坚持你所拥有的。

于 2012-12-15T03:36:23.663 回答
0

好吧,是的,在标题中包含多个元素是有效的a(只要您不嵌套a元素)。

但我认为你的标题没有意义。它要么是“流行” ,要么是“最近”,而不是同时出现,对吧?所以你的标题失去了它的目的:描述它的部分的内容。

您应该使用不属于标题的内容切换器:

<section>
  <h1>Popular</h1>
  <nav>Or see <a href="#recent">recent content</a></nav>
  <ul>
    <li>…&lt;/li>
    <li>…&lt;/li>
  </ul>
</section>

(如果您愿意,您可以更改措辞和样式,使其看起来像您的示例,方法是将链接定位到标题旁边的其他内容。)

单击“最近的内容”应将标题从“流行”更改为“最近”,并将链接更改为<a href="#popular">popular content</a>

如果您不使用 URL 锚点 + CSS 隐藏/显示相应内容,并且您没有针对没有 JS 的用户/机器人的后备,您应该同时为用户显示热门内容和最新内容禁用 JavaScript。


关于:

h3是因为它是侧边栏中的部分之一,而我的侧边栏部分都以h3. 我看过一些使用的网站h2和一些使用的网站h3,我选择了h3

只是为了确定:您不能随意使用您喜欢的任何标题级别。您需要遵循文档大纲。使用h3是否正确取决于你的整个页面结构。

于 2012-12-16T15:40:22.253 回答