我的html表单中有一个按钮,需要在使用css单击时更改它的背景图像.它在FF中运行得很完美但似乎IE不支持:活动状态.
这是我的代码:
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; }
解决方法
这是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.它不可能很漂亮.