CSS:活动伪类 - IE中的目标子元素

时间:2010-08-19 21:00:05

标签: html css css-selectors

我正在制作一个具有悬停和点击效果的花哨按钮。 按钮看起来像:

<a class="redB">
 <span class="a">&nbsp;</span>
 <span class="b">Email Us</span>
 <span class="c">&nbsp;</span>
</a>

我的问题是尝试访问我的css中的三个span元素,如下所示:

.redB:active span.a{background-position:0 -432px}
.redB:active span.b{background-position:0 -504px}
.redB:active span.c{background-position:0 -576px}

这适用于FF和Chrome,但不适用于Internet Explorer :(

我也将这个css用于悬停

.redB:hover span.a{background-position:0 -216px}
.redB:hover span.b{background-position:0 -288px}
.redB:hover span.c{background-position:0 -360px}

这在FF,Chrome和IE中效果很好

有没有办法让:活动类像IE中的子元素一样工作?

2 个答案:

答案 0 :(得分:3)

想出更多,

IE没有为子元素执行:active类,因为它的行为好像子元素位于链接的顶部,但是如果在其边缘点击了链接,它将起作用。

将来,我会尝试将更简单的按钮设置为:active将用于链接本身,而不是用于IE中视为几乎独立而不是链接本身的一部分的链接中的子元素,至少它适用于:活跃类。

答案 1 :(得分:1)

Javascript修复

你可以尝试其中一种,他们声称IE7并强制它像常规浏览器一样。

我不确定您指的是哪个版本的IE,但是w3:active伪类有这个说法:

  

请注意。还要注意在CSS1中   ':active'伪类仅适用于   链接。

IE6IE7未能正确支持:active