Проблема , конечно, общеизвестная и решаемая, но хотелось бы реализовать это наиболее элагантно и корректно.
Короче, вдруг понял что в IE (у меня 7) не работает динамический псевдокласс ":active".
А у меня на нём завязана анимация кнопки.
Выглядело это так:
<div class="prev"><div class="disabled"></div></div>
и css-спрайт из трёх картинок для анимации по селекторам .prev, .prev:active, disabled. (классы "prev" и "disabled" привязаны к jQuery-плагину)
теперь пришлось отбросить ":active" и сделать:
<div class="prev" OnMouseDown="this.className='active-prev'" OnMouseUp="this.className='prev'"><div class="disabled"></div></div>
(вдобавок ещё и .active-prev css-свойства не наследует!)
Вопрос: как это лучше обтяпать?
Оставить как есть - через js для всех;
Или как-то разнести: js для IE, css для остальных; а как кстати? не очень хочется лепить хаки и в css, и в html(бритва Оккама: "Не плодите сущностей без нужды").
P.S. Интересно то, что до сего дня, у меня ":active" в IE7 работал как надо (на div-ах, не на ссылках) и я об этом косяке даже не подозревал! А потом вдруг "ни с того, ни с сего" слетел. Хотя было вроде одно действие, после которого ":active" перестал работать - изменил DOCTYPE с transitional на strict. Поменял обратно - шиш! В ранее сохранённых копиях - шиш! Прям мистика...