2012-08-08 115 views

回答

5

這方面的骯髒的解決方案,但沒有工作,謝謝@SteveJenkins提出這個,雖然我添加了一個調整。

<a name="AnchorName" class="anchor">anchor text [invisible]</a> 

.anchor { 
    position: relative; 
    top: -[number]px; 
    visibility:hidden; 
} 
+0

那didi它:-)作爲一個安全措施,我用一個點作爲文本,以確保它不會妨礙。 – noregt 2015-03-27 09:31:45

1

添加隱伏元素200像素較低,使得一個錨它來代替。

+0

我試圖避免這種情況,這是我原來的做法,但它試圖讓我的內容的間距工作時沒有造成痛苦的結束。 – Francesca 2012-08-08 20:24:40

+0

然後你可以試試@Steven Jenkins的解決方案。 – Kolyunya 2012-08-08 20:29:43

8

我能夠通過實際應用CSS來解決這個問題。所以對於錨我會這樣...

<a name="AnchorName" class="anchor"></a> 

然後在CSS我會這樣...

.anchor { 
    position: relative; 
    top: -[number]px; 
} 

請注意,我已經注意到了一些不準確的錨多遠在不同的瀏覽器中移動。所以可能無法使事情完美對齊。如果你想讓它完美定位,你可能需要一些奇特的jQuery或其他東西。

+0

試過這個,它沒有*真的*工作。將它應用到我的H1時,它會將h1拖到頁面頂部,從視圖中移出。所以我把它從我的H1上取下來,並把它變成一個空的鏈接,就像你的代碼一樣。這沒有奏效。當我填充鏈接在裏面說'錨'時,它就起作用了,但是現在我的網頁上有一些可怕的文字說'錨'。雖然在網站的這個區域這可以正常工作,但在其他頁面上不起作用。不能有文字說'錨'寫在整個店鋪。 – Francesca 2012-08-08 20:31:04

+0

我打算給你一個解決方案,因爲它確實有效,雖然有點修復。爲了使我不得不放在我不得不顯示的錨文本我改變了font-size:0;所以它不顯示。不要以爲這是做這件事的最好方式,因爲頁面上的隱形文字不好,但必須這樣做。我會接受任何出現的其他人,並可以提供解決方案來解決此問題,而不會隱藏有關頁面的文本。 – Francesca 2012-08-08 20:36:25

+0

嗯...我沒有這些問題。也許因爲我一直這樣做:

Anchor Text
儘管如此。很高興你有它的工作! – rgbflawed 2012-08-09 15:48:35

3

我有類似的問題,並提出這個問題。沒有答案工作得很像我想要的。我不得不進一步,想分享我的發現。

有點上下文優先。我正在做一些錯誤解析,它將有趣的區域突出顯示爲HTML呈現的源代碼查看頁面。有一個允許快速導航的索引表,它位於一個固定的高度可變的標題中。這解釋了爲什麼我在這個問題頁面上結束了。

我的問題是,錨採取視覺空間周圍移動源代碼,移位由錨的長度的文本,並用代碼格式化搞亂。我嘗試了多種方法,使其不佔用空間,但仍然存在於頁面中,以便錨點起作用。最後,而不是.(根據@ noregt的評論),我解決了&#008;這將是退格字符。

每個錨都像<a name="[some unique name]" class="anchor">&#008;</a>一樣動態生成,然後在固定頭中引用。

的Javascript的一點幫助與動態頭高度和錨定位(抓住所有錨和動態地調節頂部填充):

<script type="text/javascript"><!-- 
var height = document.getElementById("head").offsetHeight; 
var a = document.getElementsByClassName('anchor'); 
// src: http://stackoverflow.com/questions/9329446/for-each-over-an-array-in-javascript 
for(key in a) { 
    if (a.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) { 
     a[key].style.paddingTop = height + 'px'; 
    } 
} 
--></script> 

此溶液完全適用於動態生成的錨具有可變高度但固定的標題。希望這可以幫助別人。