DIV поверх флэш
У веб-разработчиков существует известная проблема — как расположить DIV (или что либо другое) поверх flash-объекта внутри html-страницы. Стандартные манипуляции, типа

Существует стопроцентно кроссбраузерное решение. Хотя может это и не очень официально со стороны Adobe, но тем не менее, именно этот метод они используют у себя на сайте.
При размещении Flash на странице (совершенно не важно, каким методом, будь-то стандартным от Adobe, либо используя SWFObject) необходимо использовать атрибут/параметр
Естественно — это только первый шаг. О том как позиционировать глубину «дивов» — здесь рассказывать смысла нет :)
Вот рабочий пример (сорри, но мне было лень делать демо-пример, так как закончив с этой задачей, решил сразу написать сюда, пока из головы не вылетело, а по ссылке около метра):
Теперь, манипулируя значениям z-index, вы можете размещать поверх flash все что угодно.
P.S. Кстати, насчет атрибута
«This attribute/parameter works only in Windows with the Flash Player ActiveX control» — т.е. данный атрибут работает только под Windows и IE (это документация трехлетней давности).
Проверено — это работает везде. И в нынешней документации такого утверждения больше нет.
z-index не помогают. И бедные разработчики начинают проклинать flash, хотя это совершенно напрасно, так как раз он здесь совершенно не при чем. Корни гораздо глубже.
Существует стопроцентно кроссбраузерное решение. Хотя может это и не очень официально со стороны Adobe, но тем не менее, именно этот метод они используют у себя на сайте.
При размещении Flash на странице (совершенно не важно, каким методом, будь-то стандартным от Adobe, либо используя SWFObject) необходимо использовать атрибут/параметр
wmode тэга object/embed со значением «opaque».Естественно — это только первый шаг. О том как позиционировать глубину «дивов» — здесь рассказывать смысла нет :)
Вот рабочий пример (сорри, но мне было лень делать демо-пример, так как закончив с этой задачей, решил сразу написать сюда, пока из головы не вылетело, а по ссылке около метра):
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("main.swf", "flash", "100%", "100%", "8", null, null, {menu:"false", wmode:"opaque"});</script>
................................................
<div id="over-holder"><p>А этот текст мы видим поверх Флэш</p></div>
<div id="flash">А тут будет сам Флэш</div>
Теперь, манипулируя значениям z-index, вы можете размещать поверх flash все что угодно.
P.S. Кстати, насчет атрибута
wmode, раньше существовало недоразумение со стороны официальной документации и наверно отсюда и пошло недоверия к этому свойству:«This attribute/parameter works only in Windows with the Flash Player ActiveX control» — т.е. данный атрибут работает только под Windows и IE (это документация трехлетней давности).
Проверено — это работает везде. И в нынешней документации такого утверждения больше нет.



комментарии (78)