2011-03-17 26 views

回答

20
<h1><a>Header</a></h1> 

<h1>是一個與塊level元素並且<a>不是,那麼在語法上無效的HTML會在塊內嵌入元素(至少直到HTML5),這是另一種方式。

+7

任何人在當時我評論閱讀本應該知道,無論是在HTML5可以接受的。資料來源:http://webmasters.stackexchange.com/questions/20446/anchor-tag-inside-h1-or-h1-inside-achor-tag-which-is-better – Jared 2013-07-16 07:36:34

1

我說,因爲<h*>是塊元素和<a>是內聯元素,所以它看起來更自然,保持內嵌元素 div塊,而不是其他方式。

1

頭應先在我看來,但我懷疑,搜索引擎會介意什麼樣的方式圓他們,裏面的H1似乎只是清潔我...

1

因爲h1並不直接對應於可見對象,所以它們都是正確的。

3

從語義的角度來看:兩者(或兩者都不)。

(從結構角度看,OTOH,HTML 5錨不能包含標題之前,由於瀏覽器是不是所有的HTML 5能還你應該避免結構在可能的情況新的形式)

如果您正在創建鏈接目標,則無論如何<h1 id="target_name">優先於<h1><a name="target_name">

如果您要創建一個超鏈接,那麼從語義的角度來看,將頁面鏈接上最重要的標題鏈接到其他地方是有點可疑的。

+0

「,因爲瀏覽器並不全部支持HTML 5但是你應該儘可能地避免構造的新形式「 - 這不是像HTML5規範已經編纂了現有瀏覽器行爲的doctype這樣的領域之一,這意味着你可以在任何你想要的地方愉快地使用這個構造。 – 2011-03-17 16:05:49

+0

我見過瀏覽器打破錨內的塊元素。我沒有深入檢查,看看這是什麼情況。 – Quentin 2011-03-17 16:07:26

9

上的重複問題,這個答案比我的好:https://stackoverflow.com/a/7023551/20578

但是,對於後人:


語義上,有沒有什麼區別。請記住,「語義」只是意味着「與意義相關」,意思只是人類之間達成一致的意思(因爲電腦本身並不意味着這是人類的大腦)。沒有人的有時間同意,這些幾乎相同的選項之一,意味着什麼其他:)

令人驚訝的不同,它們實際上是兩個有效的爲好,爲目前的HTML規範的,因爲<a>的內容模型被定義爲「transparent」,即與其父母相同。

參見:

和:

(即假定<a>的家長可以有<h1>作爲其子)

然而,這不是HTML的早期版本下有效:

相關問題