如何解決div層被flash遮蓋的問題

2022-01-19 03:00:49 字數 1297 閱讀 1264

對於flash遮擋的問題,首先來了解一些wmode的一些屬性值。

預設情況下的顯示模式,在這種模式下 flash player 有自己的視窗控制代碼,這就意味著 flash 影片是存在於 windows 中的乙個顯示例項,並且是在瀏覽器核心顯示視窗之上的,所以 flash 只是貌似顯示在瀏覽器中,但這也是 flash 最快最有效率的渲染模式。由於他是獨立於瀏覽器的html渲染表面,這就導致預設顯示方式下flash總是會遮住位置與他重合的所有 html 層。

這是一種無視窗模式,在這種情況下flash player沒有自己的視窗控制代碼,這就需要瀏覽器需要告訴flash player在瀏覽器的渲染表面繪製的時間和位置。這時flash影片就不會在高於瀏覽器html渲染表面而是與其他元素一樣在同乙個頁面上,因此你就可以使用z-index值來控制 html 元素是遮蓋 flash 或者被遮蓋。

透明模式,在這種模式下 flash player 會將 stage 的背景色 alpha 值降為 0 並且只會繪製 stage 上真實可見的物件,同樣你也可以使用z-index來控制 flash 影片的層級值,但是與 opaque 模式不同的是這樣做會降低 flash 影片的回放效果,而且在 9.0.115 之前的 flash player 版本設定wmode="opaque""transparent"會導致全屏模式失效。

在一些網路電視和移動裝置上可以啟用額外的硬體加速,與其他 wmode 值模式相比,顯示序列的畫素保真度無法保證,其他方面跟 direct 模式相似。 

2.使用 window/direct/gpu 模式:

ie 需要借助 iframe 才能遮擋 flash

chrome 僅 div 即可遮擋 flash

firefox 當使用 rgba 的半透明背景色浮層時,無法遮擋 flash,只有具有背景色(background-color:#fff)的元素才能遮擋 flash,透明背景(background:transparent),或者背景顏色為半透明(background-color:rgba(255,255,255,0.5)),或者使用半透明(background:url(alpha.png))做背景的元素都無法遮擋 flash 

windows safari 即使 iframe 也無法遮擋 flash

mac 系統下 wmode 取任何值, div 元素都能輕鬆遮擋 flash 元素

參考:div 浮層遮蓋 flash 問題再研究

div層遮蓋flash(相容瀏覽器)

DIV層被flash層遮蓋問題解決思路

ie瀏覽器下可用 param name wmode value transparent firefox下可用 embed src yourflash.swf wmode transparent embed 關於wmode屬性資料 可選 允許使用 internet explorer 4.0 中的透明 ...

Div浮動層被Flash遮擋的簡單解決方法

解決辦法 新增下面所示紅色加粗 wmode transparent 解釋 wmode 屬性 引數值 window opaque transparent 說明 可選 允許使用 internet explorer 4.0 中的透明 flash 內容 絕對定位和分層顯示功能。此標記 屬性僅在帶有 flas...

Div層被嵌入的Flash層遮蓋問題解決思路

ie瀏覽器下可用 firefox下可用 關於wmode屬性資料 可選 允許使用 internet explorer 4.0 中的透明 flash 內容 絕對定位和分層顯示功能。此標記 屬性僅在帶有 flash player activex 控制項的 windows 中有效。window opaque...