清除:目标CSS伪类

时间:2012-10-16 01:58:55

标签: javascript css html5 css3 pseudo-class

最近我一直致力于Shower HTML5+CSS3 presentation template即将发表演讲。淋浴使用CSS :target pseudo-class,可以轻松识别幻灯片概览中的当前幻灯片。

我理解:target如何通过网址中的哈希工作,但是我无法让它从所有元素中清除:target CSS。

所以我的问题是:假设在一个元素被:target之后,我们如何清除所有:target并使用JavaScript将其恢复为常规?使用History API似乎不起作用。

2 个答案:

答案 0 :(得分:1)

我之前尝试过以下两个语句但它不起作用(至少在Firefox上):

history.pushState({}, 'null', window.location.pathname);
window.location.href.substr(0, window.location.href.indexOf('#'));

诀窍是改用它:

window.location.hash = '';

如果我们尝试通过JavaScript清除:target选项,则问题才存在。包含不存在或空哈希的锚标记有效:http://jsfiddle.net/SMbsb/3/

答案 1 :(得分:0)

要使用不使用Javascript的链接清除哈希目标,您只需使用<a>制作另一个href="#"代码。

简单示例:http://jsfiddle.net/Y5XB7/
单击顶部的黑色方块以激活:target,然后单击底部的黑色方块以清除它。

<a href="#" ...> ... </a>