zoukankan      html  css  js  c++  java
  • 解决Flash object 的zindex 问题

    http://joshuaink2006.johnoxton.co.uk/blog/82/flash-content-and-z-index

    Flash content and z-index

    Wednesday December 1, 2004

    Just to set up the scene, a project I am working on requires a Flash navigation set. To tackle the obvious accessibility issues, I have created a run of the mill XHTML list of links that mirrors the Flash version exactly and hidden it from visual browsers using CSS. This is all fine. I have placed the Flash navigation set at the very bottom of the XHTML and positioned it back to the top of the page using CSS, so no major problems there.

    The problem really starts when I realise that the Flash content is overlapping two other elements of the page, namely a site wide search form and a logo which doubles as a link back to the home page and, as you would expect, due to it's position within the page structure it is on the top of this 'stack' meaning I can't use the search form and I can't see the logo,let alone click it.

    Flash stacked by default

    These three elements, for the sake of simplicity, are each contained within a uniquely identified div tag and are positioned absolutely. The obvious answer is to use z-index to move the two divs above the Flash content but (insert Eddie Izzard accent here) it does not work! The reason, as explained by Macromedia

    A Flash movie in a layer on a DHTML page containing several layers may display above all the layers, regardless of the stacking order ("z-index") of those layers.

    That's all a little bit upsetting I must say. Luckily, the same tech note from Macromedia goes on to explain how you can use the wmode tag to create a transparent background for your Flash content, thus allowing the layers underneath to show through. Support for this method is now pretty widespread for newer browsers (CHECK THIS TECH NOTE FOR BROWSER SUPPORT DETAILS!). I am not overly worried about older browsers because, chances are, I am going to serve up a simplified version for Netscape 4 and his buddies anyway and, as I am using Flash MX specific ActionScript to deliver the content, the user will have to have Player 6 to see the content, so no worries about older versions of the player; such are the decisions you have to make when working with Flash!

    Okay, so using Drew's Flash Satay method my code for the Flash content looks something like this

    1. <object
      type="application/x-shockwave-flash" data="/flash/navbar.swf"
      width="750" height="90">
    2. <param name="movie" value="/flash/navbar.swf" />
    3. <param name="wmode" value="transparent">
    4. </object>

    Line three is the key to the whole thing and adding this, as said, I can now see my logo and my search form, I still can't get to them to use them though!

    Flash with transparent background applied

    This is where the tech note got a bit fuzzy for me and the reason I am making this post; it says

    Newer browsers add the ability to layer Flash content with DHTML content and in some cases the ability to use transparent backgrounds in the Flash content.

    This, to me at least, suggests that I shouldn't have run into the problems I did when using a newer browser, such as Firefox or Internet Explorer 6 (Update: Reading this back maybe the DHTML bit should have been a clue as to why I hit problems, I don't have the D bit!). The z-indexing should have worked straight out of the box but it didn't.

    So, as I understand it thus far, I would say that, for the moment at least, you must include the wmode tag if you want the ability to 'layer' the flash content using CSS alone.

    With this done and the appropriate CSS in place (e.g. #id{position:absolute; z-index:1;}. My search form, flash navigation and logo are all nestling happily together at the top of the page and I can go and have a nice glass of wine! hooray!

    Flash stacked with transparent background and z-indexing

    示例:

    http://veerle.duoh.com/index.php/blog/comments/experimenting_with_flash_content_and_z_index/

  • 相关阅读:
    Seq命令的用法
    Vsftp的PASV mode(被动模式传送)和Port模式及 Linux下VsFTP配置全方案
    PHP网页截图网页快照实现
    MimeType资料
    SQl 周报表 周统计
    IsolatedStorageFile 配额等
    SQL 月报表
    参数编码 完全解决方案
    File,FileStream,byte[]3者互相转换总结(转)
    SL 在 IE8下显示的高度变小 解决方法
  • 原文地址:https://www.cnblogs.com/weekend001/p/1599758.html
Copyright © 2011-2022 走看看