2013-01-07 50 views
6

是否可以將background-image:屬性添加到訪問過的鏈接?background-image:for:訪問過的鏈接?

a.coolLinks:visited{ 
    background-image:url("http://www.ledr.com/colours/black.jpg"); 
} 

感謝

編輯:所以看來這是一個安全漏洞,這就是爲什麼它不能做。沒有跡象表明瀏覽器阻止了這種CSS風格。

+2

你試過了嗎?應該管用。 –

+0

我認爲,不是100%,你只能在標籤上使用':visited'。所以你需要'a.coolLinks:visited {}'才能正常工作。 – phpisuber01

+0

我忘了添加'a'。它仍然不起作用。讓我添加一個JSfiddle的帖子。 – user1530249

回答

11

根據大多數規範,您的代碼是正確的。但是,many browsers考慮訪問過的鏈接上的背景圖片可能會侵犯用戶的隱私,因此他們不允許。

遵守本例中:

<p><a href="/unvisited">Unvisited link</a></p> 

<p><a href="http://jsfiddle.net/">Visited Link</a></p> 

<style> 
a { 
    background:red url("http://placekitten.com/100/101?image=2") center center no-repeat; 
    display: block; 
    height: 200px; 
    width: 200px; 
    overflow: hidden; 
    text-align: center; 
    background-color: red; 
} 

a:visited { 
    background:blue url("http://placekitten.com/100/100?image=1") center center no-repeat; 
} 
</style> 

(同樣在http://jsfiddle.net/Yq5GY/1/)。 Firefox忽略訪問鏈接的背景圖片聲明,並且從不顯示獨奏小貓。您可以使用背景色做一些區分。無論如何,依靠圖像本身是不好的可用性。

+1

有沒有辦法解決這個問題? – user1530249

+2

@KatieK你有沒有參考爲什麼瀏覽器會認爲它是一個隱私違規?我想不出爲什麼會這樣。 – Zack

+5

[參考](http://stackoverflow.com/questions/3788855/google-chrome-avisited-background-image-not-working) – Malkus

1

正如@KatieK所建議的,大多數瀏覽器都不允許設置背景圖像(甚至像背景顏色一樣的其他規則)到:visited鏈接,因爲這是一個隱私問題。你可以閱讀使用以下鏈接它:

  1. Privacy Related Changes
  2. Reported Bug
+0

Hrm,夏普的演示似乎不適用於我的Firefox(最新版本)。 – KatieK

+0

哎呀,是的,我剛剛意識到它不適用於FF4及以上。對不起,更新了答案。 – Amyth