2008-09-23 35 views
9

我正在使用的網站有Flash標頭(使用swfobject嵌入它們)。現在我需要編寫一些應該與Flash影片重疊的HTML代碼。如何將HTML內容放置在Flash影片上方?

我已經嘗試在Flash元素的容器和(絕對定位)div上設置z-index,但它在Flash電影后面保持「消失」。

我希望有一個CSS解決方案,但是如果有一點JS魔術可以解決這個問題,我會爲之付出代價的。

更新:謝謝,設置wmode爲「透明」大多修復它。只有Safari/Mac仍然在第一場演出中將閃光燈隱藏在閃光燈後面。當我切換到另一個應用程序,並返回它將在前面。我可以通過將div的初始樣式設置爲display: none;來解決此問題,並在頁面加載後在半秒內通過JS可見。

+0

你能放在一起工作的例子,因爲我有同樣的問題,能不要讓它工作,它會很高興看到它是我還是我的瀏覽器。 – svinto 2009-01-21 16:31:57

回答

20

請確保FlashVar「的wmode」設置爲「透明」或「不透明」,而不是默認的,「窗」 ......那麼你應該能夠使用CSS的z-index

+1

wmode就像一個埋葬在南美洲最深的叢林中的金色偶像。我記得我第一次聽到它時欣喜若狂。 – 2008-09-23 21:13:20

+1

請記住,它不適用於Linux瀏覽器,除了Flash 10和最近的瀏覽器(Fx 3.0.0+,Opera 9)的測試版。50+,不瞭解其他人) – 2008-09-24 05:46:37

4

後續up note:正如你在更新中發現的那樣,讓HTML顯示在Flash之上目前是一個挑剔的命題,即使使用了JS魔法,你也應該期望Flash會阻止你的HTML用於一些使用脫機瀏覽器的瀏覽器,舊版本等等。

如果接觸到任意大的瀏覽受衆對您來說很重要(例如移動設備),那麼重新設計您的內容以避免重疊可能會爲您長期減少頭痛。

0

設置 這個flash變量這樣

s1.addParam("wmode","transparent"); 

然後 在div標籤中使用這種風格

style="z-index:inherit; 

的問題將得到解決。

0

像史蒂夫保羅說,然後是當這樣坐在你的閃光燈頂部的HTML呼籲更多的閃存樂趣的一部分...

哦,我們與那一個,其中涉及設置Z-樂趣指數實際上要低一些,以考慮到閃光的原因,這是蜜蜂的膝蓋,因此必須始終處於頂峯。

1

使用的代碼,它工作在Firefox和Chrome

<object id='myId' width='700' height='500'> 
      <param name='movie' value='images/ann/$imagename' /> 
      <param name='wmode' value='transparent' /> 
      <!--[if !IE]>--> 
      <object type='application/x-shockwave-flash' data='images/ann/$imagename' width='700' height='500' wmode='transparent'> 
      <!--<![endif]--> 
      <div> 
       <h1>Please download 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> 
      <!--[if !IE]>--> 
      </object> 
      <!--<![endif]--> 
     </object>