Создание сайта, Разработка сайта, Создание сайтов Киев, Разработка сайтов Киев, Дизайн студия Best Design Studio -доступные цены в Киеве
Решение DIV поверх флэш

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


Существует стопроцентно кроссбраузерное решение. Хотя может это и не очень официально со стороны Adobe, но тем не менее, именно этот метод, они используют у себя на сайте.
При размещении Flash на странице (совершенно не важно, каким методом, будь-то стандартным от Adobe, либо используя SWFObject) необходимо использовать атрибут/параметр wmode тэга object/embed со значением «opaque».

Естественно — это только первый шаг. О том как позиционировать глубину «дивов» — здесь мы рассказывать не будем.

Вот рабочий пример:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title>BestDesign.</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("main.swf", "promo", "100%", "100%", "8", null, null, {menu:"false", wmode:"opaque"});</script>

<style>              /* hide from ie on mac \*/
html  { height: 100%; overflow: hidden; }
#promo  { height: 100%; }
/* end hide */
body  { height: 100%; margin: 0; padding: 0; background-color: #000; color: #fff; font-family: Tahoma, arial; font-size: 11px; }
p  { margin: 0; padding: 0;}
a  { color: #999; }
#over-holder  { position: absolute; z-index: 3; margin: 1px 0 0; padding: 20px; width: 400px; height: 30px; background: #000; opacity: .5; }
#promo  { position: absolute; z-index: 2; background: #ffcfcf; }
</style>

</head>
<body>
<div id="over-holder">
<p>текст поверх флешь ролика.</p>
<p><a alt="BestDesign." title="BestDesign." href="http://www.bestdesign.com.ua">BestDesign.</a></div>
<div id="promo">
<h1>Пришло время установить Flash Player</h1>
<p><a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>
</body>
</html>



Теперь, манипулируя значениям z-index, вы можете размещать поверх flash все что угодно.

P.S. Кстати, насчет атрибута wmode, раньше существовало недоразумение со стороны официальной документации и наверно отсюда и пошло недоверия к этому свойству: «This attribute/parameter works only in Windows with the Flash Player ActiveX control» — т.е. данный атрибут работает только под Windows и IE (это документация трехлетней давности).