用文本包装锚元素

时间:2015-12-19 03:12:47

标签: html seo anchor semantic-markup

如果一个锚元素有文本(只有文本),但不是更大的文本块的一部分,那么锚标记是否被段落元素包裹起来是否重要(例如语义,搜索引擎优化,维护)?

<!-- Wrapped -->
<p><a href=''>Link Description</a></p>

<!-- Standard -->
<a href=''>Link Description</a>

纵观大型网站,这两种方式似乎都很受欢迎。但是有没有明显的差异?

1 个答案:

答案 0 :(得分:1)

(请注意,div只应使用for paragraphs。如果它不是段落,并且您想要使用此类包装,请改用p;如果是段落,无论如何都应该使用div。)

我可以想到两种情况,这种包装在语义上很重要(见下文)。当然,使用包装器的另一个好理由是,如果现有的CSS / JS建议/要求它(例如,如果CSS作者决定设置a个元素,而div没有div 1}}包装器会破坏布局。)

换行符

不支持作者提供的CSS的用户代理(如文本浏览器,提要阅读器等)通常会为pspan等元素开始一个新行(即, &#34;块级元素&#34;在HTML 4中),但不适用于a<p>Teaser with some text.</p> <a href="link">Read more</a> <cite>John Doe</cite> 等元素(&#34;内联元素&#34;)。

所以,如果你有这样的事情:

Teaser with some text.

Read more John Doe

这样的用户代理可能会在同一行显示最后两个元素:

Teaser with some text.

Read more

John Doe

虽然最好让每个人都有自己的路线:

a

因此,对于此类和类似情况,应使用包装元素(通常默认创建一个新行)。

如果p是唯一的phrasing content元素(例如,在两个p元素之间),那么这当然不是问题。

未公开p

如果a元素没有结束标记(有效),则以下p将成为<p>some text <a href="link">Read more</a> 的一部分:

p

如果关闭a不是一个选项,则必须使用p的包装器(一个不能是div的子包的包装器,例如,{ {1}})。