2013-12-17 71 views
2

但是,我訪問的網站項目鏈接不會強調,但其他訪問的修改正在運行,並且下劃線正在懸停。我向我的教練展示了這一點,他感到困惑,並表示他會盡力抽出時間看看它,但是,截止日期已經接近我不能再等了。這是我對付錨標記上的我的佈局頁的部分:已訪問的鏈接將不會下劃線

a:link 
{ 
    text-decoration: none; 
    color: #d1bd22; 
    font-size: 1.3em; 
} 

a:visited 
{ 
    text-decoration: underline; 
    color: white; 
    font-size: 1.3em; 
} 

a:hover 
{ 
    text-decoration: underline; 
    color: #d1bd22; 
    font-size: 1.3em; 
} 

a:active 
{ 
text-decoration: none; 
    color: white; 
    font-size: 1.3em; 
} 

這裏是我的網站的鏈接:

http://cis.luzerne.edu/~ds0002/morlansfamousshop.html

+5

避免張貼鏈接到外部網站。使用jsfiddle發佈相關的HTML以顯示您的問題。 – Kermit

+2

看着一個JS小提琴我創建了規則*是*在Chrome中應用,但不是在視覺上。如果我添加一個相同的內聯屬性,則下劃線按預期顯示。我現在只是在猜測,但是在幾年前CSS瀏覽器歷史泄漏故事之後,它可能會成爲瀏覽器限制嗎?顏色變化沒有任何問題。 – pwdst

回答

4

帽尖到@pwdst爲察覺這一點,應該工作。對於Firefox,請參閱this documentation。類似的規則適用於Chrome。

由於JavaScript可以讀取應用於元素(以及其他元素,以及計算的樣式)的樣式,允許在鏈接爲:visited時更改鏈接可以揭示關於其他人的網站訪問過的信息。

爲了保護用戶的隱私,瀏覽器限制哪些屬性可以更改:visitedtext-decoration不能更改。

參見:The Selectors specification哪些祝福這種行爲。所以

的UA可以把所有的鏈接,訪問過的鏈接,或採取其他措施,而渲染走訪未訪問鏈接不同,以保護用戶的隱私。

+0

Stack Overflow的情況經常出現,在答案上被擊敗爲「殺人」。感謝您的信用。 – pwdst

+0

謝謝你這樣做,我改變了參觀保持未修飾,因爲它正在做,懸停和活躍現在有下劃線屬性 – KingDave212

-1

我認爲發生這種情況的原因是優先級。

因爲您已經在其他人之前定義了一個:鏈接,而其他人沒有添加任何額外的權重,所以瀏覽器正在使用第一個定義。

嘗試把一個:鏈接在年底如預期(因爲只有特定的懸停,並參觀會匹配前面的定義)

+1

儘管規則同樣具體,但後面的規則應該覆蓋第一條 - 此外,使用a:鏈接樣式並不是實踐中發生的情況。 – pwdst

+0

a:鏈接的樣式正是應用的(基於OP) – Donovan

+0

這不是發生了什麼,雖然我會授予你它可能已經*出現*爲正在發生的事情。沒有基本的CSS知識應該表明這不是正確的答案。 – pwdst

3

我是正確的在評論中的猜測。如果您創建了一個測試示例(在JS小提琴或測試HTML文件中),那麼的屬性在您使用開發工具進行檢查時會應用,但無法在視覺上看到。爲什麼是這樣?

有幾個關於用戶隱私被惡意網站添加鏈接(通常是隱藏)到他們的頁面,然後使用:visited僞類來確定用戶是否訪問過URL的故事。

其結果是,Mozilla的開發者網絡明─

注:出於保護隱私的原因,瀏覽器的嚴格限制,你可以使用 這個僞類選擇的元素應用樣式:唯一的顏色, 背景顏色,邊框顏色,邊框底色, border-left-color,border-right-color,border-top-color, 輪廓顏色,列規則顏色,填充和描邊。還要注意,alpha組件將被忽略:替代地使用 未訪問規則的alpha分量(除非當不透明度爲0時, 中的情況下整個顏色被忽略,並且未訪問規則中的一個 規則使用。

雖然顏色可以改變,該方法的getComputedStyle會說謊 始終把後面的未訪問過的顏色值。

有關限制的詳細信息,併爲他們的動機, 查看隱私和訪問選擇器。

https://developer.mozilla.org/en-US/docs/Web/CSS/:visited

的顏色屬性被應用於也只對了一半,在適用和視覺目前有報道的事實 - 但的getComputedStyle方法會說謊,並返回的顏色如果規則是沒有申請。

因此,惡意網站管理員無法再使用此技術確定您訪問過的網站。

+0

這是正確的答案國際海事組織。也看到一個相關的線程。 http://stackoverflow.com/questions/8331688/why-doesnt-this-avisited-css-style-work –

+0

另一件需要注意的事情。如果我在普通的隱身模式和瀏覽模式下都運行此提琴,則會顯示正確的背景色。 http://jsfiddle.net/5sppR/2/ –