我的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;
}
答案 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。它不可能很漂亮。