2012-02-02 32 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: ""; 
}