Это известная ошибка в более ранних версиях IE (я думаю, что они решили ее в IE8).Я обычно решаю это (а также соответствующую проблему «зависания») с помощью JavaScript.Я прикрепляю к элементу два обработчика событий - «mousedown» для установки дополнительного класса (что-то вроде «button-active») и «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.Это не может быть красиво.