2012-02-02 60 views
0

是否有一種方式與純CSS的有一個鏈接,可能會說「新!觀看視頻」,然後一旦有人點擊鏈接,它刪除了「新的「鏈接部分。我假設這可以做的瓦特/ JQuery的,但我想看看是否有一種方法來刪除它只是CSS。刪除鏈接中的單詞使用:訪問一旦鏈接被點擊

+0

使用:visited選擇器將不起作用;這是真的。 – 2012-02-02 20:25:44

回答

0

而不是刪除的話,加上「新建」如果鏈接沒有被訪問尚未

a:before { 
    content: "New! "; 
} 
a:visited:before { 
    content: ""; 
} 

沒有多餘的標記,你不需要把「新」字到處。

+0

如果您想要,您可以將其僅應用於某個班級的鏈接,例如'a.video:before {...}'或者只在頁面的某個區域內鏈接'div.videos a:before {...}' – 2012-02-02 20:42:15

+0

我喜歡a:before解決方案。我有一種感覺,我可以用僞選擇器做些事情。非常感謝你!!! – ekard9 2012-02-05 20:33:13

0

包裹「新!」在錨點跨度:

<a class="newText" href="somepage.html"><span>New! </span>Watch video</a> 

,並在你的CSS設置:

a.newText:visited span { display: none; } 

我會建議使用的錨類(如上面的「newText」),使該格式將只應用於你想要的鏈接。請記住,「新!」如果用戶清除瀏覽器歷史記錄,文本將重新出現。

+1

這不適用於Chromium 14/Ubuntu 11.04。我假設它是通過'a:visited'鏈接的樣式阻止瀏覽器歷史記錄嗅探。 [JS小提琴演示](http://jsfiddle.net/davidThomas/9YPnE/)。 – 2012-02-02 20:28:58

+0

那麼在那種情況下,得使用JS。 – 2012-02-02 20:32:34

+0

我相信,出於可用性原因,您只能使用以下參數更改顏色:visited。 – shaunsantacruz 2012-02-02 20:36:21

0

假設錨將帶你到一個新的頁面,您可以使用以下方法:

a:before { 
    content: "New! "; 
} 

在您希望刪除或更改它的任何頁面,您可以添加一個體類

body.blah a:before { 
    content: ""; 
}