2012-06-05 44 views
2

當使用name =「object」,然後讓頁面使用href =「#object」id滾動到該對象時,可以調整頁面着陸的位置。而不是窗口的頂部,向下幾個像素。我有一個固定的導航欄,當滾動時,內容會落後,所以導航欄始終可見。所以當我使用href =「#object」時,它會被切斷,因爲它位於導航欄後面。 是否有任何修正?謝謝。如何調整href =「#object」

回答

5

使用指定的錨點更改元素上的頂部填充和邊距樣式。例如,如果您的標頭高度爲100像素,請爲您的指定錨點指定一個-100像素的邊距頂部和100像素的填充頂部。

看到這個jsFiddle example

在此示例中,該鏈接將使粗體文本('Vestibulum ante ipsum')距頁面頂部100px。

+1

聰明的解決方案。我建議你把樣式放在一個CSS類中,或者更好:用'a [name]'來標記它們! –

+0

是的,顯然將CSS從HTML中分離出來。 jsFiddle僅用於演示目的。 – j08691

+0

非常好,謝謝。 –

1

您可以通過在插件配置中設置offsetjQuery.localScroll做到這一點。

這裏,have a fiddle

+0

爲什麼將整個jQuery庫添加到用CSS輕鬆完成的事情?另外,這個問題沒有用jQuery標記。 – j08691

+0

@ j08691因爲我無法想出像您這樣的純CSS解決方案。 –

2

如果你想通過css選擇器設置這些屬性(如j08691提到的),把這個JS放到你的html中,那麼你可以給每個錨定一個類,如果屬性選擇器不' t工作(舊版瀏覽器):

function findAnchors(){ 
    anker = document.anchors; 
    for(i=0; i<anker.length; i++){ 
     anker[i].className = "anchor"; 
    } 
} 
window.onload = findAnchors(); 
+0

您不需要爲此實際使用JavaScript。 [規範說明](http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-7577272),「document.anchors」是「所有錨的集合(' A''元素在文檔中的'name'屬性的值。你可以用CSS做同樣的事:'a [name] {...}' –