2017-06-08 28 views
0

我正在創建一個頁面,該頁面上有兩個div元素,位於我想要創建錨點的文本的正上方。其中一個div元素的是顯示:無一定的屏幕尺寸的上方,而另一個div元素是顯示:塊,像這樣:如果一個div是display:none,那麼在div元素中是否允許具有相同名稱的連續錨?

<div class="hidden"><!-- This div class is set to display:none; in CSS --> 
<!-- Div content --> 
</div> 
<div class="show"><!-- This div class is set to display:none; in CSS --> 
<!-- Div content --> 
</div> 
<a name="anchor"></a> 
<h2>Paragraph heading</h2> 
<p>Paragraph that I want to anchor to</p> 

當我把錨所示在上述例子中,實際上出現它在段落標題下。難道是允許把同名的兩個錨,如果申報單的一個是顯示:沒有,像這樣:

<div class="hidden"> 
<!-- Div content --> 
<a name="anchor"></a> 
</div> 
<div class="show"> 
<!-- Div content --> 
<a name="anchor"></a> 
</div> 
<h2>Paragraph heading</h2> 
<p>Paragraph that I want to anchor to</p> 

有沒有這樣的事情是不允許的方法?我已經測試了這一點,並且指向錨點的鏈接看起來不起作用 - 即使瀏覽器未顯示一個div元素,display:none div中的HTML標記與display:block div中的HTML標記衝突?

我可以在堆棧溢出找到唯一的例子是:Anchor to element within hidden div,它似乎涉及更多的JavaScript切換比我的問題。請讓我知道其他地方是否有答案。

+0

*「它實際上出現在段落標題下面」* - 我真的不明白這意味着什麼或應該是什麼樣子。 – deceze

+0

名稱應該有一個獨特的價值。你爲什麼需要重複它? – airos

+0

@deceze - 這可能是由於頭部或另一個CSS樣式的垂直間隙造成的。當我點擊到錨點的實際鏈接時,它會比實際錨點的位置略低。我嘗試將錨點放在我想要鏈接的位置以便進行補償。 –

回答

3

號見the specification

如果屬性存在,它的值不能爲空字符串,並且必須既不等於任何ID在該元素的家庭樹比元素的其他價值自己的ID,如果有的話,也不等於元素的主子樹中元素上的任何其他名稱屬性的值。

它在文檔中必須是唯一的。如何設計它周圍的元素對該規則沒有影響。


該規範還指出:

作者不應該在指定的元素的name屬性。

當HTML 4在1996年被釋放並推出id屬性(任何元件上,不只是在錨)上a元件的name屬性被取代。

id必須在文檔中也是唯一的。

+0

謝謝你的回答,以及關於id屬性的建議。這回答了我的問題,並解釋了我的結果。 –

相關問題