Flashの上に画像やテキストを重ねて表示できないかなーと思って試してみたら普通にできたのでまとめ。とりあえずサンプルを見るのがわかりやすい。
サンプル
HTMLテキストです。
重ねて表示する方法:HTML + CSS
大事なのはFlashを描画する<object>タグの部分。
<param name="wmode" value="transparent" /> <embed wmode="transparent" ... />
この2つをしているすればIE6〜/Fx3〜/Safari3〜/Chromeで、無事にDIVによるテキストの重ね合わせ・背景色の重ね合わせ、透過PNGの重ね合わせを表示できた。透過PNGに関してはIE6対策にJavaScriptのライブラリを導入している。
今回初めてこの透過ライブラリ使ってみたけど、結構良いかもしれない。
#test_flash{ position:relative; } #test_hoge{ position:absolute; top:0px; left:100px; padding:10px; width:300px; color:#00f; } #test_hoge span{ background-color:#eeeeee; }
<script src="/DD_belatedPNG.js"></script> <script> DD_belatedPNG.fix('.png_bg');<!-- IE6の透過PNG対策 --> </script> <![endif]--> <div id="flash"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="550" height="400" id="test" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="allowFullScreen" value="false" /> <param name="wmode" value="transparent" /> <param name="movie" value="http://zaru.tofu-kun.org/wp-content/uploads/2010/02/test.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <embed wmode="transparent" src="http://zaru.tofu-kun.org/wp-content/uploads/2010/02/test.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="test" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_jp" /> </object> <div id="hoge"> <p>HTMLテキストです。</p> <img src="http://zaru.tofu-kun.org/wp-content/uploads/2010/02/img.png" /> </div> </div>