Способ больше не работает.
Читать тут:
http://pay.diary.ru/~diaryCSS/?comm...postid=29862611
читать дальше
Я нашел читерский способ сделать hover для любого элемента в IE )
Только для опытных пользователей
Суть: добавляем аттрибут, который будет прописывать обработчик события onmouseover (Javasсriрt аналог :hover) нужному элементу. Обработчик будет менять имя класса, позволяя делать с элементом что угодно.
Допустим мы работаем с блоком меню:
#side div.menuSection{
display:block;
background-color: #666;
color: #fff;
введем дополнительный атрибут, который добавит к div.menuSection обработчик события onmouseover, который добавит к имени класса элемента постфикс _hover
m: exprеssion(this.onmouseover = new Function("this.className = 'menuSection_hover';")
;
}
#side div.menuSection_hover, #side div.menuSection:hover
{
background-color: #FFF;
color: #666;
аналогично - только событие onmouseout возвращает старое имя класса
m: exprеssion(this.onmouseout = new Function("this.className = 'menuSection';")
; }
}
Недостаток метода 1: в новом полученном классе надо полностью дублировать ВСЕ свойства родительского класса.
Недостаток метода 2: нужно быть чрезвычайно аккуратным и не перегружать страницу обработчиками - они создаются динамически и могут вызвать зависание эксплорера. В частности приведенный скрипт работает на дизайне сообщества, но намертво виснет в моем.
Пример: подсветка аватаров
действие в IE:
изначально аватары серые, при наведении окрашиваются
действие в Опера:
изначально аватары прозрачные, при наведении нет
.avatar img, .avatarNew img{ FILTER: Gray; opacity: 0.5; -moz-opacity: 0.5; m: exprеssion(this.onmouseover = new Function("this.className = 'hover';")
; }
.avatar img.hover, .avatarNew img.hover{FILTER: none; m: exprеssion(this.onmouseout = new Function("this.className = '';")
; }
.avatar img:hover, .avatarNew img:hover{ opacity: 1.0; -moz-opacity: 1.0; }
-
-
31.05.2007 в 17:02а что за m: ?
-
-
31.05.2007 в 17:06и вместо m там может быть что угодно - это искуственный атрибут.
-
-
31.05.2007 в 17:13-
-
31.05.2007 в 17:23-
-
31.05.2007 в 18:15IE поддержвает ее с версии 5.5, если не ошибаюсь.
Самое забавное что дневниковский валидатор кода ее пропустил - ведь применить можно и не в таких мирных целях, как у тебя.
Именно через exprеssion я планировал делать выпадающие меню, если помнишь - обсуждали эту тему тоже. Но почему-то посчитал что дневники не пропустят. Оказалось нет
Я думаю возможность применения данной конструкции будет закрыта разработчиками, так как в принципе представляет собой угрозу безопастности. А вот поддержка hover через whatever:hover скорее всего появится.
-
-
31.05.2007 в 18:20ага.
Помню я, как с админами общался, показывая, как можно сквозь их фильтры exprеssion вставлять, и взламывать дайри… в результате — CSS не работал несколько месяцев.
Интересно, прохлопали несуществующий атрибут, или понадеялись что фильтры спасут от всего…
-
-
31.05.2007 в 18:31ага.
я надеюсь на введение whatever:hover ДО изменения настроек фильтрации CSS )