如何制作:IE中的活动状态工作?

时间:2010-10-30 08:14:10

标签: html css internet-explorer button

我的html表单中有一个按钮,需要在使用css点击它时更改它的背景图像。它在FF中运行得很好但似乎IE不支持:active状态。

这是我的代码:

HTML:

<button class='button'>Click Me</button>

CSS:

.button {
    width: 118px;
    height: 33px;
    background: url(/images/admin/btn.png) no-repeat center top;
    border: none;
    outline: none;
}
.button:active {
    background-position: center bottom;
}

1 个答案:

答案 0 :(得分:10)

这是IE早期版本中的一个已知错误(我认为他们在IE8中解决了它)。我通常用javascript解决这个问题(以及相应的“悬停”问题)。我将两个事件处理程序附加到元素 - “mousedown”以设置一个额外的类(类似“按钮活动”)和“mouseup”来删除该类。在jQuery中它将是这样的:

$('.button').mousedown(function() { $(this).addClass('button-active'); });
$('.button').mouseup(function() { $(this).removeClass('button-active'); });

然后,只需将该类添加到css规则中,如下所示:

.button:active, .button-active {
    background-position: center bottom;
}

有点难看,是的,但你期待什么 - 这是Internet Explorer。它不可能很漂亮。