2011-11-17 112 views
69

我在製作時常常會碰到這個問題(相當簡單的問題) WordPress的博客。我是否應該將標題(也應該是鏈接)包裹在錨點<a>元素中,或者應該是相反的方式。爲什麼?錨頭內的錨,或反之亦然?

(1)

<a href="foo"> 
    <h1>bar</h1> 
</a> 

(2)

<h1> 
    <a href="foo">bar</a> 
</h1> 

我總是最後做(1),因爲它只是似乎更合乎邏輯的我,標題被包裹在鏈接中。

它是否在例如搜索引擎優化?有最佳做法嗎?

+2

[關於專業網站管理員的問題](http://webmasters.stackexchange.com/questions/20446/anchor-tag-inside-h1-or-h1-inside-achor-tag-which-is-better)是你在找什麼 –

+0

謝謝,好像是這樣:) –

回答

66

此前HTML5:
錨必須是頭裏面,你不能把一個塊級元素的錨點,大多數瀏覽器不會使其100%可靠的,如果你做的。

在HTML5:
沒關係,使用哪一個使最語義感。可能是第一個。

請記住,如果您的文檔正在使用HTML4 DTD,它將無法驗證,並且可能無法正確呈現,因爲它使用的是錨點不能包含塊級元素的舊規則。只能使用HTML5中的第一個選項。 XHTML等同於HTML4,但我並不是100%確定XHTML1.1(嘗試它並驗證它是否被驗證)。

7

如果您使用的是HTML 4.01 DTD(不確定過渡,但絕對是嚴格的),那麼錨元素必須出現在標題元素內。檢查你的文檔類型,如果你不知道你正在使用哪個DTD(假設你有一個,你需要oyur代碼被認爲是有效的)。 HTML5的DOCTYPE是這樣的:

<!DOCTYPE HTML> 

4.01 DOCTYPE是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

我還建議與DTD本身,如果你打算用4.01上班熟悉自己,它會回答所有這些類型的問題。