CSS - Ie Z-index Bug Strikes Again
Hey all. I have the classic situation, a dropdown menu is not displaying because it is being hidden another another div. Only happens in IE. I know IE has some issues with handling Z-indexes, and not applying them right. I tried putting all my elements to position:relative, and setting the z-index on every stupid list item attribute, but no good.
h t t p : / / f p i t e s t e r s . f o r c e . c o m / s i m p l e s t y l e Here is the relevent code. /* This is the div that ends up overlapping the menus */ #main-textarea { margin-left:auto; margin-right:auto; background-image:url({!URLFOR($Resource.FPITesters, 'body-bg.gif')}); background-repeat:repeat-y; width:736px; min-height:240px; padding-top:75px; position: relative; overflow:hidden; z-index:0; } #main-navigation { margin: 18px 0px 0px 448px; position: relative; z-index:10; } <div id="lightBlueBackground" name="lightBlueBackground"> <div id="header" name="header"> <div id="logo" name="logo"> </div> <div id="title" name="title"> </div> <div id="bread-crumbs" name="bread-crumbs"> <ul> <li>Home ::</li> <li>Current Page</li> </ul> </div> <div id="main-navigation"> <ul><li class="about-nav" id="about-li"><a id="about-a" href="javascript:loadPageSF('undefined')" onmouseover="javascript:slideDown('about-li')">About</a><ul><li><span><a href="javascript:loadPageSF('a0940000005phO7AAI')">Careers</a></span></li><li><span><a href="javascript:loadPageSF('a0940000005phObAAI')">Contact Us</a></span></li><li class="last-item"> </li></ul></li><li class="tester-nav" id="tester-li"><a id="tester-a" href="javascript:loadPageSF('a0940000005phOhAAI')" onmouseover="javascript:slideDown('tester-li')">Become a Tester</a><ul><li class="last-item"> </li></ul></li><li class="fundraising-nav" id="fundraising-li"><a id="fundraising-a" href="javascript:loadPageSF('a0940000005phO7AAI')" onmouseover="javascript:slideDown('fundraising-li')">Fundraising</a><ul></ul></li><li class="testinfo-nav" id="testinfo-li"><a id="testinfo-a" href="javascript:loadPageSF('undefined')" onmouseover="javascript:slideDown('testinfo-li')">Tester Info</a><ul><li><span><a href="javascript:loadPageSF('a0940000005phPAAAY')">Directions</a></span></li><li><span><a href="javascript:loadPageSF('a0940000005phOqAAI')">Forms</a></span></li><li><span><a href="javascript:loadPageSF('a0940000005phOvAAI')">Get The Scoop</a></span></li><li><span><a href="javascript:loadPageSF('a0940000005phP0AAI')">Recruiting Info</a></span></li><li><span><a href="javascript:loadPageSF('a0940000005phP5AAI')">Test Day Requirments</a></span></li><li class="last-item"> </li></ul></li></ul></div> </div> <div id="main-textarea" name="main-textarea"><div id="leftImage" name="leftImage"> </div><br> <br> <div id="rightText" name="rightText"> Similar TutorialsI haven't seen this one before. And I can't for the life of me figure out what could be causing this. Take a look at This Page To see what I'm talking about, you'll need to view it in a good browser first (Mozilla, Netscape, Opera) Then look in IE. Basically there's an H3 that also serves as a link to my RSS Feed page. You don't see it in IE unless you actually hover the mouse over it. Even then, if you move the mouse over the menu on the left, the heading disapears again. At first I thought it could be because it was a heading, but on another page a regular link does it too. I've got two stylesheets, and it does it on both. Any thoughts or suggestions? Here's the main stylesheet Having an issue with a drop down menu in firefox. I have a nav bar with drop down menus. Just below that is an embedded video. Everything works fine except for the drop down menu is behind the video on firefox. Looks fine in IE. I adjusted the z-index properties to make sure that the nav bar sits on top, but it still sits behind. ??? Is it a glitch of some sort? I have two elements. One has a z-index of 9999 and the other has 9000. Both elements are positioned. It is a modal popup window. When I open it, the element with a poistion of 9000 is on top of the one with 9999. I even checked to confirm that the z-index properties were the same once the popup completed. What could cause this? I am making a list of arrangements, and want a div containing further info to pop up, when you click the arrangement. To make sure the info-box is on top of the other DIVs, i have set z-index to 1. But i have a couple of scripts on the page, and they are allways places on top. I there a way to go around this? + Is it possible with a few simple changes to this script: Code: <script type="text/javascript"><!-- function showHide(boxName) { theBox = document.getElementById(boxName); if (theBox.className == "boxVisible") { theBox.className = "boxHidden"; } else { theBox.className = "boxVisible"; } } //--> </script> <body> <a href="news" onclick="showHide('news'); return false;">News</a> </body> So the target changes back, when the link is inactive. I've tried this: Code: <body> <a href="news" onmouseover="showHide('news'); return false;">News</a> </body> But then i have to pass the link again, to close the window again. Does IE not support z-index attributes? I set some z-indexes and it seems to have fixed my issues in firefox, but not in IE. I am not sure why this is not working but I am trying to nest a div and overlay them. Code: <style> .txtImg { posistion: relative; z-index: 99; height: 72px; width: 100%; background: url(../../images/roycity-gpl-01.png) no-repeat left; } .logo { position: relative; z-index: 1; height: 72px; width: 100%; background: no-repeat right; } </style> <div id="txt" class="txtImg" align="left"> <div id="bg-img" class="logo" align="right"></div> </div> Hi all, I've got a little request. Does anybody know how I could solve this issue: I want to have a menu hover on the left, and a menu hover at the top, while visitors can move the google map around in the background. I do this by setting my map div to z-index: -1, and it works good. Except it won't let people click on the map and move it around, even though there isn't a div ontop of it. http://pw.mmogm.com/0.0.5/frame.html The only other way I can think of it set the menu's to z-index: 1, but that would cause them to lag, and they're position would be fixed so when I "toggle" the menu, the top menu won't slide left. It's much nicer the first way, besides the clicking problem. http://pw.mmogm.com/0.0.5/frame2.html I greatly greatly any advice you might be able to shed on this issue. Thanks in advance if you can I have an object on my page with the following settings: Code: #myEmail { position:absolute; left:400px; top:50px; z-index:2; display:none; } and i have a video player in my form that looks like this: Code: <object id="Player" height="400" style="border:solid 1px black; z-index:1;" width="500" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"> <param name="URL" value="<% =GetPlayerUrl() %>" /> <param name="autoPlay" value="true" /> </object> Problem is, when the video starts to play, it moves to the top layer. What am i doing wrong? Hi everyone, I'm currently busy on a website which is viewable here The problem is the 'Top' image on the right side. It's supposed to be below the #shadow div (look at my source code) I tried changing the z-indexes to different levels but the top div keeps staying on top. If I turn it into a negative z-index, the mouseover doesn't work anymore.. Hope anyone can help Wouter I'm wanting to put three items together with different z-indexes. The first div contains another div and a paragraph, all are positioned absolutely. I want the 2nd div to be higher than the p. The html is as follows: Code: <div id="sticker"> <div></div> <p>Text</p> The css is as follows: Code: div#sticker {width:146px; height:140px; background:url("stickerbase.png") no-repeat top left; position:absolute; top:20px; left:20px; z-index:10;} div#sticker div {width:115px; height:67px; background:url("stickerflap.png") no-repeat top left; z-index:20;} div#sticker p {position:absolute; top:40px; left:20px; z-index:15; background-color:#06c;} An example is at www.wattersisere.co.uk/devshed I want the text with the blue background to be behind the flap of the sticker! I even tried it out with an online z-index checker and couldn't get their code to do it. Thanks, Watters I worked it out, I had missed the position:absolute off the 2nd div. Hi, I am trying to position a logo at the foot of http://www.root.lamtha2.co.uk/cssproblem/ If you look at the source it shows, <div id="footer" class="navTextBottom"> <br /> <!-- #BeginLibraryItem "/Library/bottom_nav_bar.lbi" --><a href="index.html">Home</a> | <a href="#">Terms & Conditions</a> | <a href="#">Links</a> | <a href="#">Contact Us</a><!-- #EndLibraryItem --><br /> <span class="copyrightText">Copyright Apex Verhicle Rentals 2006</span><br /> <div id="lamtha2logo"><a href="http://www.lamtha2.com" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Lamtha2logo','','index_images/designed_by_l2_on.jpg',1)"><img src="index_images/designed_by_l2_off.jpg" alt="Lamtha2 Web Design" name="Lamtha2logo" width="89" height="29" border="0" id="Lamtha2logo" /></a> </div> <!-- end lamtha2logo --> </div> <!-- end footer --> Here is the css #footer { width:760px; font-size:12px; background-image: url(index_images/footer.gif); text-align: center; background-repeat: no-repeat; z-index: -2; } #lamtha2logo { height: 29px; width: 89px; background-repeat: no-repeat; z-index: 2; float: left; padding-left: 10px; margin-bottom: -35px; } Can anyone help me resolve why div #lamtha2logo is beneath div #footer thanks On a site I'm trying to setup I have a header arrangement with a centrally placed image/logo (it's a png8). 1. It looks a bit decimated in IE6. Anyone know why? 2. The image is supposed to be absolute and on top but in fact the menu bar stays on top. All a problem in IE but not firefox. I'm obviously missing something basic! Help appreciated. An old site, http://www.naausa.org, doesn't work properly in IE7 as the hover links don't go over the changing image. It seems to be because of the IE bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html The site and code is ugly (inline CSS, tables, etc.), but I don't want to reinvent the wheel; I just want to solve the problem and get it over with. I've tried several things with no luck. Can anyone take a gander at the source code and give me a hint? Thanks, Jeremy [sorry for any duplication... I just submitted this to the HTML list but suddenly realized it's really a CSS problem] I have a couple web pages that include relatively long pop-up "help" fields... implemented with the display and index style elements. With Netscape or Safari they look fine, but with IE or Opera, some underlying elements "bleed through"; that is, some elements from a div with a lower z-index, which should be behind, seem to float off the rear document and appear in front of the front document. All of the problem elements seem to be within forms and (probably more importantly) they all seem to be in a DIV other than the DIV containing the pop up. That is each structure looks something like: <div> <div> ... the pop up </div> <div> the rest of this section </div> </div> <div> ... some more stuff </div> the proplems are in the area in which the pop up overlaps later divisons. (not all items so conflict) ... any ideas? hi, i've been reading extensively about the z-index issue that IE 7 suffers from (when using the "position" property) but i cannot for the life of me fix my problem. Basically i have a #menu that is positioned relative to a #wrapper. The dropdown menu works fine in all browsers except that in IE 7, the grey shadow that should appear behind the dropdown menu itself appears on top of the actual dropdown menu. If you view the same page using Firefox, the dropdown menu appears above the grey shadow as it should do. This is the EXACT behaviour i need. I need the dropdown menu and its shadow to appear above the "#content .box" below it, but i also need the shadow to appear behind the dropdown menu. I just need to replicate this exact behaviour you see in Firefox in IE 7. I need to keep the IE7 compatibility mode and the DOCTYPE as they are otherwise the other styles on my site will be affected. Please find the attached folder with all necessary code contained in it. Ignore the jquery.js file as its merely used for effects and is not causing the issue. BTW: its essential that the #menu is positioned relative to the #wrapper as i want it to appear further down in the HTML code for SEO purposes. Thanks in advance Hi, I thought this would be a no brainer, but for some reason my z-indexes aren't working. I have a wrapper div, and inside this div I have about 3 other divs. Each div has to be layered in a specific order. I thought that the lower the z-index, the lower the stacking order? But for some reason, Here's my CSS:: Code: #header { z-index:300; position:absolute; margin;0, 0, 0, 167px; float:right; background-image:url("images/common/Catsheader.gif"); } #footer { margin-top:315px; z-index:998; height: 87px;} .push { height:87px; clear:both; } #content{ z-index:1; position:absolute; margin: 0 0 0 0; padding:0 0 0 0; width: 770px; height: 602px; } Here's the site so far :: link The flash movie should be behind the footer and header, but it is showing up on top. Please tell me what I am doing wrong. thanks I have an image and a popover when the mouse hovers over that image. I want the popover to show under the image. My code works in IE but not firefox. I've been trying to fix this for a couple hours but with no luck. Any help is greatly appreciated Code: #prefButton { font-size: 0.7em; display: inline; float: right; margin: 0.4em; margin-right: 1.0em; display: block; height: 30px; width: 30px; overflow: hidden; } #prefButton .title * { display: block; height: 30px; width: 30px; overflow: hidden; } #prefButton .title .image { background-image: url(pref.gif); background-repeat: no-repeat; background-position: top right; position: relative; top: -30px; z-index: 15; } #prefPopup { display: none; } #prefPopup span { display: block; margin: 0.5em 0; } #prefPopup.showPopup { font-size: 1em; border-style: solid; border-width: 1px; overflow: hidden; position: absolute; width: 10.0em; padding: 0.5em; display: block; z-index: 10; } <div id="prefButton"> <span class="title"><p></p><span class="image"></span></span> <div id="prefPopup">Some text goes here</div> </div> Im converting a website to tabless layout and have used BonRouge Fixed 2 column layout to achive this. In the header div I have a drop-down css navigation. I had some problems with the drop downs displaying so I messed with some z-index and got it to work fine in Firefox...but of corse IE doesnt want to play nicely. It doesnt even display the drop down. So I come to Devshed for help. Here is my messy CSS: Code: img { border: 0px none; } body { background-color: #ffffff; color: #000; background-image: url('http://www.properties-abroad.net/images/bg.jpg'); margin:10px; font-family: Verdana,sans-serif; font-size:10px ; padding: 0; height: 100%; } #nav, #nav ul { padding: 0; margin: 0; list-style: none; text-align: left; } #nav a { display: block; color: #fff; font-family: verdana; font-weight: bold; font-size: 8pt; text-decoration: none; } #nav a:hover { display: block; color: #FFFF00; font-family: verdana; font-weight: bold; } #nav li{ float: left; width: 120px; padding-top: 5px; padding-bottom: 5px; color: #fff; } #nav li ul{ position: absolute; left: -999em; width: 120px; margin-top: 0px; padding-top: 5px; text-align: left; z-index: 10; } #nav li ul li{ width: 120px; text-align: left; padding: 5px; background:#A3B3DE; z-index: 2; } #nav li ul li a{ width: 120px; text-align: left; color: #000; } #nav li:hover ul { left: auto; } #nav li:hover ul, #nav li.sfhover ul { left: auto; } #wrap { width:780px; margin:auto; position:relative; background: #ffffff; } #left { float:left; width:300px; text-align:center; background: #ffffff; margin: 0; border: 0; } #main { position:relative; margin: 0; padding: 0; margin-left: 300px; background: #ffffff; } * html #main { height:1px; } #navigation { background: #ffffff; padding: 0; margin: 0; } #header { padding:0; margin: 0; } #clearfooter { clear:both; height: 30px; overflow: hidden; } #footer { height: 100px; margin: 0; color: #000; text-align: center; width: 780px; margin: auto; font-size: 10px; background-image: url('images/div-foot.jpg'); background-position: bottom; background-repeat: no-repeat; } And here is my cleaner HTML: Code: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Properties Abroad - Discount Self Catering Accommodation</TITLE> <link title="blue" href="stylediv.css" type="text/css" rel="STYLESHEET"> </head> <body> <center> <div id="wrap"> <div id="header"> <img src="images/div-head.jpg" alt="Discounted Holidays Abroad"></div> <div id="navigation"> <ul id="nav" style="background-image: url(navbg.jpg); width: 738px; height: 23px;"> <li style="padding-left: 10px; width: 120px;"><a href="index.html">Home Page</a> <ul> <li><a href="newsletter.html">Free Newsletter</a></li> <li><a href="corporate.html">Corporate Events</a></li> <li><a href="landing.html">Overseas Property Sales</a></li> <li><a href="advertise.html">Advertise with us</a></li> <li><a href="http://www.simply-global.com/" target=_blank>Website Design & Management</a></li> </ul> </li> <li><a href="prop.html">View Properties</a> <ul> <li><a href="spain.html">Costa Blanca, Spain</a></li> <li><a href="majorca.html">Alcudia, Majorca</a></li> <li><a href="tenerife.html">Tenerife</a></li> <li><a href="lanzarote.html">Lanzarote</a></li> <li><a href="landing.html">Homes Abroad</a></li> <li><a href="gallery.html">Photo Gallery</a></li> </ul> </li> <li><a href=index.html>Quick Searches</a> <ul> <li><a href="flightsearch.html">Flights</a></li> <li><a href="hotelsearch.html">Hotels</a></li> <li><a href="http://onlineautorentals.at/propertiesabroad" target=_blank>Car Hire</a></li> <li><a href="flighthotel.html">Flights + Hotel</a></li> <li><a href="http://www.skyscanner.net/" target=_blank>European Flights</a></li> <li><a href="http://www.activehotels.com/servlet/search/index.jsp?searchCode=EU&trkref=SGL" target=_blank>European Hotels</a></li> </ul> </li> <li><a href=beach.html>Beach Holidays</a> <ul> <li><a href="accommodation-alcudia.html">Belle Vue Complex</a></li> <li><a href="accommodation-sands.html">Sands Beach Villas</a></li> </ul> </li> <li><a href=villa.html>Villa Holidays</a> <ul> <li><a href="accommodation-spain.html">Luxury Townhouse - Sleeps 6</a></li> </ul> </li> <li><a href=golf.html>Golfing Holidays</a> <ul> <li><a href="golf-spain.html">Costa Blanca</a></li> <li><a href="golf-alcudia.html">Majorca</a></li> <li><a href="corporate.html">Cororate Events</a></li> </ul> </li> </ul> </div> <div id="left">Left</div> <div id="main">Main Content</div> <div id="clearfooter"></div> <div id="footer"> <center> <a href="index.html" title="Discounted Holidays Abroad">Discounted Holidays Abroad</a> | <a href="landing.html" title="Homes Abroad">Homes Abroad</a> | <a href="http://www.skyscanner.net/" title="Cheap European Flights" target=_blank>Cheap European Flights</a> | <a href="http://www.activehotels.com/servlet/search/index.jsp?searchCode=EU&trkref=SGL" title="Eurpoean Hotel Accommodation" target=_blank>Eurpoean Hotel Accommodation</a> | <a href="flightsearch.html" title="Cheap Flight Search">Cheap Flight Search</a> | <a href="hotelsearch.html" title="Cheap Hotel Search">Cheap Hotel Search</a> | <a href="http://onlineautorentals.at/propertiesabroad" title="Cheap Car Hire Search" target=_blank>Cheap Car Hire Search</a> | <a href="newsletter.html" title="Holiday Newsletter">Holiday Newsletter</a> | <a href="accommodation-spain.html" title="Costa Blanca Holiday">Costa Blanca Holiday</a> | <a href="accommodation-alcudia.html" title="Majorca Holiday">Majorca Holiday</a> | <a href="accommodation-tenerife.html" title="Tenerife Holiday">Tenerife Holiday</a> | <a href="accommodation-sands.html" title="Lazarote Holiday">Lazarote Holiday</a> | <a href="villa.html" title="Villa Holidays">Villa Holidays</a> | <a href="accommodation-alcudia.html" title="Apartment Holidays">Apartment Holidays</a> | <a href="accommodation-spain.html" title="Costa Blanca Villa Holidays">Costa Blanca Villa Holidays</a> | <a href="accommodation-alcudia.html" title="Alcudia, Majorca">Alcudia, Majorca</a> | <a href="accommodation-alcudia.html" title="Holidays in Majorca">Holidays in Majorca</a> | <a href="accommodation-alcudia.html" title="Holidays in Alcudia">Holidays in Alcudia</a> | <a href="accommodation-tenerife.html" title="Holidays in Tenerife">Holidays in Tenerife</a> | <a href="accommodation-sands.html" title="Holidays in Lanzarote">Holidays in Lanzarote</a> | <a href="accommodation-sands.html" title="Sands Beach Villa Holidays">Sands Beach Villa Holidays</a> | <a href="landing.html" title="Homes Abroad">Homes Abroad</a> | <a href="accommodation-spain.html" title="Beach Holidays in Spain">Beach Holidays in Spain</a> | <a href="accommodation-alcudia.html" title="Beach Holidays in Alcuida">Beach Holidays in Alcuida</a> | <a href="accommodation-sands.html" title="Beach Holidays in Lanzarote">Beach Holidays in Lanzarote</a> | <a href="golf-spain.html" title="Golfing Holidays in Costa Blanca">Golfing Holidays in Costa Blanca</a> | <a href="golf-alcudia.html" title="Golfing Holidays in Majorca">Golfing Holidays in Majorca</a> | <a href="corporate.html" title="Corporate Events">Corporate Events</a> <br><br> <a href=sitemap.html>Site Map</a> | <a href=linkpartners.php>Link Partners</a> | <a href="http://www.simply-global.com/privacy.php?comp=Properties Abroad.net" target=_blank>Privacy Policy</a> | <a href="http://www.simply-global.com/antispam.php?comp=Properties Abroad.net" target=_blank>Anti-Spam Policy</a></font><br> <font size=1>Developed by <a href=http://www.simply-global.com/ target=_blank title=Simply Global>Simply Global Group</a> </center> </div> </div> </center> </body> </html> Hi there, For some reason, my z-index is not working properly in IE. I want a layer to appear above the rest. It works fine in FF, but not IE. This is my code: Code: width:200px; position: absolute; left: 750px; top: 50px; z-index: 1000; background-color: #ffffff; border: 3px solid #f6f6f6; font-family: verdana; Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; padding: 10px 10px 10px 15px; line-height: 20px; i really need some help!!! i can work out how to solve this problem. I know z-index only works with absolute positioned elements. however i need it to work a relative element. so i decided to make that element absolute and then put it inside a relative <div> wrapper. problem that came about: 1, the z-index still doesnt work. that element doesnt show up over lower values of z-index which are on the page. these other elements are not in the div wrapper. 2, the div wrapper does not wrap around an absolute position element. it just shrinks down. any help>> |