Solved

CSS menu overlapped by flash

Posted on 2009-07-15
9
458 Views
Last Modified: 2012-05-07
Hi, experts, I am trying to install a nice little css menu on this page: http://test dot magickitchen dot com slash jul09 dot html

But I have a flash running on that page- on the left, there are pictures of food rotating through a series. When I hover over the tag "Our Menus", the drop down is obscured by the flash. Is there anything I can do with the js code(I'll attach it) or the css(I'll attach it)  to make the drop down sit in front of the images? Thanks.
html:

  <ul id="qm0" class="qmmc">
 

	<li><a class="qmparent" href="/menu/menu.html">Our Menus</a>
 

		<ul style="width:131px;">

		<li><a class="qmparent" href="/menu/main_courses.html">Main Courses</a>
 

			<ul>

			<li><a href="/menu/breakfast.html">Breakfast</a></li>

			<li><a href="/menu/Beef.html">Beef</a></li>

			<li><a href="/menu/Pasta.html">Pasta &amp; Rice</a></li>

			<li><a href="/menu/Pork.html">Pork</a></li>

			<li><a href="/menu/Poultry.html">Poultry</a></li>

			<li><a href="/menu/Seafood.html">Seafood</a></li>

			<li><a href="/menu/Vegetarian.html">Vegetarian</a></li>

			</ul></li>
 

		<li><a href="/menu/soup.html">Soups</a></li>

		<li><a href="menu/side_dishes.html">Side Dishes</a></li>

		<li><a href="/menu/new.html">Extra Sides</a></li>

		<li><a href="/menu/desserts.html">Desserts</a></li>

		<li><a href="/gift_certificates.html">Gift Certificates</a></li>

		</ul></li>
 

	<li><a class="qmparent" href="/meal_packages.html">Meal Packages</a>
 

		<ul style="width:150px;">

		<li><a href="/meal_plans.html">Meal Plans</a></li>

		<li><a href="/menu/meal_bundles.html">Meal Bundles</a></li>

		<li><a href="/gifts.html">Food Gifts</a></li>

		<li><a href="/menu/healthy_choices.html">Healthy Choices</a></li>

		<li><a href="/menu/MKMeals.html">Special Menu</a></li>

		</ul></li>
 

	<li><a class="qmparent" href="/nutrition.html">Magic Information</a>
 

		<ul style="width:162px;">

		<li><a href="/diabetic.html">Diabetic Friendly</a></li>

		<li><a href="/dairyfree.html">Dairy Free</a></li>

		<li><a href="/glutenfree.html">Gluten Free</a></li>

		<li><a href="/lowcarb.html">Low Carb</a></li>

		<li><a href="/lowfat.html">Low Fat</a></li>

		<li><a href="/lowsodium.html">Low Sodium</a></li>

		</ul></li>
 

	<li><span class="qmdivider qmdividery" ></span></li>

	<li><a class="qmparent" href="/customers.html">Customers</a>
 

		<ul style="width:130px;">

		<li><a href="/cgi/user.cgi?cmd=login&type=retail&ret_url=">My Account</a></li>

		<li><a href="/guarantee.html">Our Guarantee</a></li>

		<li><a href="/press_reviews.html">Media</a></li>

		<li><a href="/security.html">Security</a></li>

		<li><a href="/terms.html">Terms &amp; Conditions</a></li>

		<li><a href="/testimonials.html">Testimonials</a></li>

		</ul></li>
 

	<li><a class="qmparent" href="/gifts.html">Gifts</a>
 

		<ul style="width:101px;">

		<li><a href="/gifts.html">New Parents</a></li>

		<li><a href="/gifts.html">Seniors</a></li>

		<li><a href="/gifts.html">etc</a></li>

		</ul></li>
 

<li class="qmclear">&nbsp;</li></ul>
 

<!-- Create Menu Settings: (Menu ID, Is Vertical, Show Timer, Hide Timer, On Click ('all' or 'lev2'), Right to Left, Horizontal Subs, Flush Left, Flush Top) -->

<script type="text/javascript">qm_create(0,false,250,250,false,false,false,false,false);</script>

Open in new window

quickmenu.txt
quickmenu-styles.txt
0
Comment
Question by:mel200
  • 5
  • 3
9 Comments
 
LVL 13

Accepted Solution

by:
Brian Withun earned 250 total points
ID: 24862965
Give this a read:

http://the16art.com/2007/07/04/flash-objects-displaying-on-top-of-html-content/

[quote]
Q: I have experienced a problem recently when designing a website; the flash banner was displaying on top of the CSS menu regardless of the stacking order (z-index).

A: The solution for this problem is using the parameter WMODE to allow layering of Flash content with DHTML layers. The parameter WMODE has 3 possible settings: window (default), transparent, or opaque. Setting WMODE to transparent or opaque will prevent the Flash object from playing in the top layer and allow you to adjust the stacking order of the movie within other layers of the HTML document.
[/quote]
0
 

Author Comment

by:mel200
ID: 24863200
Hmm.. that certainly sounds like it should work. However, I made the changes, uploaded the file, and there is no change in any of my browsers (FF, IE, Chrome). I checked the source, and this is what I have:
  <div align="left">
        <script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','186','height','334','title','food','src','images/flash/rotating-images2','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','images/flash/rotating-images2' ); //end AC code
</script>
        <noscript>
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="186" height="334" title="food">
              <param name="wmode" value="transparent" />
          <param name="movie" value="images/flash/rotating-images2.swf">
          <param name="quality" value="high">
          <embed src="images/flash/rotating-images2.swf" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="186" height="334"></embed>
        </object>
        </noscript>
      </div>
Did I make a mistake? Thanks!
0
 

Author Comment

by:mel200
ID: 24863275
I found this:
#  wmode - Possible values: window, opaque, transparent. Sets the Window Mode property of the Flash movie for transparency, layering, and positioning in the browser.

    * window - movie plays in its own rectangular window on a web page.
    * opaque - the movie hides everything on the page behind it.
    * transparent - the background of the HTML page shows through all transparent portions of the movie, this may slow animation performance.

That doesn't sound like what I want.... maybe I should use DHTML to play the images...
0
 
LVL 13

Expert Comment

by:Brian Withun
ID: 24863372
I think you need to add the wmode to the <EMBED> tag as well...

      <OBJECT
            <PARAM NAME="wmode"       value="transparent">
            <EMBED wmode="transparent"> </EMBED>
      </OBJECT>
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 13

Expert Comment

by:Brian Withun
ID: 24863399
Rather, OPAQUE is probably best, and I had left out a bracked on the OBJECT tag, so here is my pseudocode again:
<OBJECT>

   <PARAM NAME="wmode"       value="opaque">

   <EMBED wmode="opaque"> </EMBED>

</OBJECT> 

Open in new window

0
 

Author Comment

by:mel200
ID: 24863475
Yes, I had done that, I think:

<embed src="images/flash/rotating-images2.swf" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="186" height="334"></embed>

Now I'm putting in a DHTML slideshow in place of the flash, and that seems to be working.
0
 

Assisted Solution

by:ron_pierre
ron_pierre earned 250 total points
ID: 24863573
  The problem is not with your css or javascript. The problem is with the flash object.
You need to make sure the the wmode value of the flash object is set to transparent. You need to add the wmode value in two places, as shown below:

(note that it appears in two places: <param  name="wmode" value="transparent"/> within the object tag and wmode="transparent" within the embed tag). The code below is your actual code, modified to work properly so you can just copy and paste if you want:




<object height="334" width="186" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" title="food" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">

<param name="movie" value="images/flash/rotating-images2.swf"/>

<param name="quality" value="high"/>

<param  name="wmode" value="transparent"/>
 

<embed height="334" width="186" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" wmode="transparent" src="images/flash/rotating-images2.swf" title="food"/>
 

</object>

Open in new window

0
 

Author Comment

by:mel200
ID: 24863688
Hmm.. I actually like the DH|TML slideshow better, I think I'll split the points, since your answer is definitely the definitive one from adobe, but my solution is a good one for people with simple flash shows like mine. I got my DHTML from: http://www.dynamicdrive.com/dynamicindex14/fadeinslideshow.htm
0
 

Author Closing Comment

by:mel200
ID: 31603908
Thanks!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
Is your Office 365 signature not working the way you want it to? Are signature updates taking up too much of your time? Let's run through the most common problems that an IT administrator can encounter when dealing with Office 365 email signatures.
In this tutorial viewers will learn how to customize the background color and font color of highlighted text using the ::selection element in CSS Begin by defining the selected text as an element in CSS by typing "::selection": Style the ::selection…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now