Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   IE и псевдокласс "active". (https://javascript.ru/forum/css-html-internet-explorer/14626-ie-i-psevdoklass-active.html)

Nanto 24.01.2011 01:55

IE и псевдокласс "active".
 
Проблема , конечно, общеизвестная и решаемая, но хотелось бы реализовать это наиболее элагантно и корректно.
Короче, вдруг понял что в 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. Поменял обратно - шиш! В ранее сохранённых копиях - шиш! Прям мистика...

x-yuri 15.03.2011 11:42

в ie8 работает, и дальше скорее всего будет + это не какая-то критическая функциональность, так что можно не париться


Часовой пояс GMT +3, время: 17:39.