CSS - Ie7 Css Dropdown Menu Vanishing While In Use.
I've got a dropdown menu that works great in Firefox, Opera, Safari, and Chrome. In fact it ALMOST works in IE7, except for an annoying bug that happens when the person is using the drop down menu.
As the user moves the mouse partway down the menu, the menu will suddenly vanish, making the rest of the menu unusable. The live website is he http://www.a-1plumbing.us/100.html Here's my menu CSS code: Code: /* menu */ #navcontainer {padding-left:235px; margin:0; height:36px;} #menu { position:relative; display:table; list-style-type:none; margin:0; padding:0; /* width:552px; */ height:24px; z-index:5; } .menuitem { position:relative; display:table-cell; float:left; margin:0; padding:0; width:128.75px; overflow:hidden; } .menuitem ul { display:none; /* hide it first off */ margin: 0; padding:0; list-style-type:none; } .menuitem li { margin:0; padding:0; overflow:visible;} .submenu li { position:relative; z-index:10;} /* 2-class selector to have higher weight than ".menuitem ul" */ .submenu .subsubmenu { position:absolute; top:0; display:none; } .menuitem:hover { overflow:hidden; z-index:10; position:relative; } .menuitem:hover ul{ display:block; } .meunuitem:hover, .menuitem:hover ul{ position:static; } .submenu li:hover > .subsubmenu { display:block; } #menu a { display:block; margin:0; padding: 0.2em 0.5em; text-align:center; text-decoration:none; font: normal small-caps 1em Verdana, Arial, Helvetica, sans-serif; color:black ! important; } #menu a:hover { text-decoration: underline; color:black } .menuitem a { background-color:transparent;} #menu .menuitem ul a { background-color:#D71921; color:white ! important; font-size:0.8em ! important;} #menu .menuitem ul ul a { background-color:darkblue; color:white ! important; font-size:0.8em ! important } #pindex #mindex, #p100 #m100, #pcontact #mcontact, #ptips #mtips {color: #005D8B ! important;} #menu .menuitem ul a#sm { background:#D71921 url('../images/seal_small.gif') no-repeat center left ! important; padding-left: 1.5em ! important; } #phoneNum {display:none} .submenu {border:1px solid white;} Here is my HTML code: Code: <div id="navcontainer"> <ul id="menu"> <li class="menuitem"><a href="home.html" id="mindex"><strong>Home</strong></a></li> <li class="menuitem"><a href="100.html" id="m100"><strong>Guarantee</strong></a> <ul class="submenu"> <li><a href="./100.html#s_100">100% Guarantee</a></li> <li><a href="./100.html#s_time">On Time or it's Our Dime</a></li> <li><a href="./100.html#s_seal" id="sm">Technician<br />Seal of Safety</a></li> <li><a href="./100.html#s_clean">Cleanliness</a></li> </ul> </li> <li class="menuitem"><a href="tips.html" id="mtips"><strong>Tips</strong></a> <ul class="submenu"> <li><a href="./tips.html#ttt">Toilet Trouble</a></li> <li><a href="./tips.html#tfd">Flooded Basement</a></li> <li><a href="./tips.html#twl">Water Leak</a></li> <li><a href="./tips.html#tbs">Blocked Sewer</a></li> <li><a href="./tips.html#tnhw">No Hot Water</a></li> <li><a href="./tips.html#tgl">Gas Leak</a></li> <li><a href="./tips.html#tcd">Clogged Drain</a></li> </ul> </li> <li class="menuitem"><a href="./contactus.html" id="mcontact" ><strong>About Us</strong></a> <ul class="submenu"> <li><a href="./testimonials.html">Testimonials</a></li> <li><a href="./service_area.html#serve">Service Area</a></li> <li><a href="./feedback.html#feedback">Feedback Form</a></li> <li><a href="./contactus.html#phone">Phone</a></li> <li><a href="./contactus.html#address">Address</a></li> </ul> </li> </ul> </div> <!-- end NAV container --> I've tried using "position: static" in several divs, but this bug does not seem to be related to the other (and well known) IE7 positioning bugs. Does anyone have any idea why the menus vanish as you mouse down them? It appears to be triggered if there is a DIV under the menu. For example, on this page ( http://www.a-1plumbing.us/tips.html ) the "Guarantee" drop down menu works quite well, because there is no div under neath it. (due to the improper floating IE7 bug, which I'll fix soon. :P ) Thanks for any input! -Suthern101 Similar TutorialsI'm using the suggestions of those on here and using the http://www.dynamicsitesolutions.com...2/#relatedLinks menu (I'm a little confused over what the differences are but that's the least of my problems) What I want is a 2nd level drop down menu, but I'm clueless on how to go about it..??? I'm currently attempting to make a simple template using CSS that has a fixed height header, an expandable content area beneath it and a fixed height footer that stays at the bottom of the page. The footer should move down when the content area expands further than the page height - I don't want to have a scrollable div for the content area. Easy, right? The problem I'm having is that I need to define 'overflow:auto' within the content div in order for it to be able to expand further than the initial 100% when necessary, but the inclusion of this property causes the footer to disappear without a trace in Safari. It works correctly in Firefox however. Below is the CSS stylesheet and the HTML from the template file. Any ideas what I can do to fix this problem? Thanks. Code: html, body { background-color: #efefef; height: 100%; margin: 0; } #container { height:100%; min-height:100%; width: 790px; padding: 0 5px; margin-right: auto; margin-left: auto; margin: 0 auto -20px; background-color: #fff; overflow: auto; } #container .header { float: left; margin-top: 5px; width: 790px; height: 130px; background-color: #000; color: #fff; } #container .navigation { float: left; width: 790px; height: 30px; margin-top: 5px; } #container #content { float: left; margin-top: 5px; width: 790px; font-family: Verdana, arial; font-size: small; } #spacer { clear: both; width: 790px; height: 20px; } #footer { height: 20px; width: 790px; margin-left: auto; margin-right: auto; background-color: #cecece; } Code: <html> <head> <title> {TITLE} </title> <link rel="stylesheet" type="text/css" href="./css/main.css" /> <link rel="stylesheet" type="text/css" href="./css/navigation.css" /> <link rel="stylesheet" type="text/css" href="./css/content.css" /> </head> <body> <div id='container'> <div class='header'> {HEADER} </div> <div class='navigation'> {NAVIGATION} </div> <div id='content'> {CONTENT} </div> <div id='spacer'></div> </div> <div id='footer'> {FOOTER} </div> </body> </html> In Internet Explorer 6, the following HTML and CSS with negative margins causes the first letter of the heading to disappear: Code: <html> <head> <style type="text/css" media=screen> #siteBody { position: absolute; top: 100px; left: 100px; width: 700px; margin-left: 2em; } h1 { margin-left: -1em; } </style> </head> <body> <div id="siteBody"> <h1>This is the heading</h1> <p> This is the content. </p> </div> </body> </html> There are ways to get the negative margin to work in IE properly, but at a loss of functionality. For instance, if I remove the width property from the siteBody CSS, and change the position to 'relative', the letter will appear. Also, if I remove the div and just place the 'siteBody' id on the body tag, then the first letter will appear. Any help is greatly appreciated as I've been searching for a solution for a couple of days now. Thanks, ---atomgiant Hi all -- I've used plenty of CSS in the past, but I'm currently working on a dropdown menu that is more challenging than I had anticipated. A few things I need to fix that I just cannot figure out: 1) The last <li> in the dropdown seems to be overlapping my border 2) I want to put at least 10px of padding on the left hand side of the dropdown menu 3) I need to turn the carrot in front of each menu item to #ff9900 4) Whenever I try to increase or decrease the space between menu items, it seems as though white lines appear between my menu items. In the interest of full disclosure, I found this CSS out somewhere on the web, and I've been trying to customize it since I didn't feel I had the knowledge to build it from scratch. Normally, I'd prefer to create something on my own, but limited time and knowledge prevented me from doing so this time around. Attached below are my HTML and CSS code. I tried to post a link, but the forum will not allow me. If you can offer any assistance, I would greatly appreciate it. Thanks in advance for your time! HTML CODE: Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Flyouts Page</title> <link rel="stylesheet" type="text/css" href="menu/menu_style.css" /> <body> <TABLE cellSpacing=0 cellPadding=0 width=610 border=0> <TBODY> <TR> <TD width="200" valign="top"> <div id="outside"> <ul id="navigation-1"> <li><IMG src="test_graphic.jpg" border=0></A> <ul class="navigation-2"> <li><a href="" title="Test 1" target="_self" ><strong>> Test 1</strong></a></li> <li><a href="" title="Test 2" target="_self" ><strong>> Test 2</strong></a></li> <li><a href="" title="Test 3" target="_self" ><strong>> Test 3</strong></a></li> <li><a href="" title="Test 4" target="_self" ><strong>> Test 4</strong></a></li> <li><a href="" title="Test 5" target="_self" ><strong>> Test 5</strong></a></li> <li><a href="" title="Test 6" target="_self" ><strong>> Test 6</strong></a></li> <li><a href="" title="Test 7" target="_self" ><strong>> Test 7</strong></a></li> </ul> </li> </ul> </div></TD> </TR> </TBODY></TABLE> </body> </html> CSS CODE: Code: #outside{ border:0px solid #000000; background:#ffffff; } #navigation-1 { padding:0px 0; margin:0px; list-style:none; width:200px; height:107px; border-top:0px solid #000000; border-bottom:0px solid #000000; font:normal 8pt Verdana, Arial, Helvetica; background:#ffffff; } #navigation-1 li { margin:0; padding:0; display:block; float:left; position:relative; width:200px; background:#ffffff; } #navigation-1 li a:link, #navigation-1 li a:visited { padding:4px 0; display:block; text-align:left; text-decoration:none; background:#ebf7f3; color:#000000; width:195px; background:#ffffff; } #navigation-1 li:hover a, #navigation-1 li a:hover, #navigation-1 li a:active { padding:4px 0; display:block; text-align:left; text-decoration:none; background:#ffffff; color:#000000; width:195px; } #navigation-1 li ul.navigation-2 { margin:0; padding:0px 0px 0; list-style:none; display:none; background:#ebf7f3; width:195px; position:absolute; top:110px; left:0px; border: 1px solid #cbccce; } #navigation-1 li:hover ul.navigation-2 { display:block; width:198px; } /*the individual menu items*/ #navigation-1 li ul.navigation-2 li { width:170px; height:18px; clear:left; font-size: 10px; font-family:Arial, Helvetica, sans-serif; } #navigation-1 li ul.navigation-2 li a:link, #navigation-1 li ul.navigation-2 li a:visited { clear:left; background:#ebf7f3; padding:4px 0px -4px 5px; width:170px; border:none; position:relative; z-index:1000; } #navigation-1 li ul.navigation-2 li:hover a, #navigation-1 li ul.navigation-2 li a:active, #navigation-1 li ul.navigation-2 li a:hover { clear:left; background:#ebf7f3; padding: 4px 0px 0-4px 5px; width:170px; position:relative; z-index:1000; color:#cbccce; } #navigation-1 li ul.navigation-2 li a span { position:absolute; top:0; left:132px; font-size:10pt; color:#000000; } #navigation-1 li ul.navigation-2 li:hover a span, #navigation-1 li ul.navigation-2 li a:hover span { position:absolute; top:0; left:190px; font-size:10pt; color:#cbccce; } .carrot{ color:#ff9900; } Hi yall, i'm a quite newbie on css and i'm having an issue with my drop menu on the site i'm trying to do , with wordpress, multi level menu...i started from the code generated by the css generator and tried to fit it to my meeds. but, i can't control the li li menu (categories), i want it to appear exactly at the end of the li categories. 2) the second issue is that i'm trying to add a margin to the main ul because it's to near from the top. can someone help me plz? here my code Code: #suckerfishnav, #suckerfishnav ul { float: left; height: 2.98em; width: 960px; list-style: none; line-height: 1; background: white; font-weight: bold; margin: 0.1em 0.1em 0.1em 0.1em; padding: 0; } #suckerfishnav a { display: block; color: #7c6240; text-decoration: none; padding-top: 0.25em; padding-right: 0.7em; padding-bottom: 0.1em; padding-left: 0.2em; } #suckerfishnav li { float: left; padding: 0; width: 13em; height: 2.8em; } #suckerfishnav ul { position: absolute; left: -999em; height: auto; margin-left: 2em; line-height: 1; z-index: 500; } #suckerfishnav li li { width: 9.6em; border: solid #eda; border-width: 1px; padding-top; 10px; } #suckerfishnav li ul a { width: 9.8em; } #suckerfishnav li ul ul { margin: -0.20em 0 0 9.8em; } #suckerfishnav li ul { position: absolute; left: -999em; height: auto; width: 9.9em; w\idth: 9.8em; font-weight: normal; border-width: 0.20em; margin: 0; z-index: 500; } #suckerfishnav li ul a { width: 9.9em; w\idth: 9.8em; } #suckerfishnav li:hover ul ul, #suckerfishnav li:hover ul ul ul, #suckerfishnav li.sfhover ul ul, #suckerfishnav li.sfhover ul ul ul { left: -999em; } #suckerfishnav li:hover ul, #suckerfishnav li li:hover ul, #suckerfishnav li li li:hover ul, #suckerfishnav li.sfhover ul, #suckerfishnav li li.sfhover ul, #suckerfishnav li li li.sfhover ul { left: auto; } #suckerfishnav li:hover, #suckerfishnav li.sfhover { background: #eda; width: 9.5em; w\idth: 9.4em; } Help!! I am trying to design this website: nitrocanine .com/D/DDesign and the dropdown menus won't work in IE, while they work in Chrome, Safari, Firefox... does anyone know how to make them work in IE as well?? You can view the source and see the css coding and the relevant HTML. Hi, on my site http://www.mattmdesign.com, sometimes when you mouseover the portfolio the menu appears in the wrong spot. someone also said that it is appearing on the left side of the page everytime with mozilla 1.0 Does anyone know how I can make it appear right under the porfolio link every time? Thanks, Matt i'm having a problem with a couple attributes for my CSS dropdowns. view the page here (both CSS and XHTML are on the same page) specifically my .hoverBase:hover .hoverLaunch {} class which reads as such: Code: .hoverBase:hover .hoverLaunch { display:block; position:absolute; top:15px; left:-3px; width:70px; border:3px solid #000000; text-align: center; z-index: 30; } the problem is that IE6 will not display the .hoverLaunch class like FireBird does, in fact, it does not display at all. Another awesome feature of IE6 is that the :hover i have applied on the .hoverbase does not work either. Any help is appreciated. Thanks in advance. First I am using Dreamweaver MX2004. I am still new to CSS, have not used it much. Still using tables (yeah i know) for the layout. Mainly because when I've tried positioning in the past, IE doesn't display it right. Layers don't seem to work for me! What I'd like to know is: can I use CSS (the son of suckerfish dropdowns) for my drop down menu in a separate HTML file that would be saved as a library item? I'd like the nav separate so I can update it easily. Should I also use a separate CSS file that would only be associated with the nav? Is necessary to have an external css sheet, if it only applys to this nav? The nav would get dropped into a table row under the top banner. My issue is: will it get positioned right ? And will it view ok in IE??? Hope I explained this right. I fear that what I have already coded, would get messed up if I do this! But due to search engine optimization, I'd like to avoid a fully functioning javascript dropdown. If you have a better suggestion/usage for a dropdown horizontal nav, I'd appreciate your ideas! Thanks for the advice! Valerie Hey all, having a bit of trouble getting my drop down menu to display properly. It's modeled after the suckerfish menu, only modded a bit. Here's the site...hover over 'machines' to see what i'm talking about (have to use FF, i haven't added the JS for IE yet). The drop down is adopting the rollovers from the mainmenu, and I don't know what to change to make 'em different. Here's the CSS for the menu: Code: #mainmenu { width:780px; height:41px; margin:auto; position:relative; } #mainmenu li.navigation { width:78px; height:41px; float:left; text-align:center; background:#B8A488 url(images/mainmenu_roll.gif) no-repeat; } #mainmenu li.navigation a{ background:#66563D url(images/mainmenu_off.gif) no-repeat; display:block; text-decoration:none; color:#F4F1E5; height:31px; padding-top:10px; } #mainmenu li.navigation a:hover { background:transparent; color:#66563D; } #mainmenu li#home { background-image:url(images/home_roll.gif); } #mainmenu li#home a{ background-image:url(images/home_off.gif); } #mainmenu li#home a:hover { background:transparent; } #mainmenu li#contact { background-image:url(images/contact_roll.gif); } #mainmenu li#contact a { background-image:url(images/mainmenu_off.gif); } #mainmenu li#contact a:hover { background:transparent; } /* BEGIN DROP DOWN MENU */ li ul { display: none; position: absolute; top: 1px; margin-left:-2px; background-color:#B8A488; border-left:1px solid #66563D; border-bottom:1px solid #66563D; padding:2px; z-index:500; } * html li ul { top:26px; } /* li ul li { padding:0; } */ li > ul { top: auto; left: auto; } li:hover ul, li.over ul{ display: block; } Thanks! My second level menu items are not showing in IE, but show fine in firefox. Code: #menucontainer { width: 100%; clear: both; position: relative; text-align: center; margin: 0 auto; padding-left:0px; padding-top:35px; padding-bottom:15px; } #menu { text-align: center; display:table; padding:5; margin:0 auto; list-style-type:none; white-space:nowrap; background: #eee; } #menu ul { font: small-caps bold 12px/15px "lucida grande", tahoma, arial, verdana, sans-serif; list-style: none; margin: 0; padding: 0; width: 7em; float: left; } #menu a { font: bold 11px/16px arial, helvetica, sans-serif; display: block; border-width: 1px; border-style: solid; border-color: #ccc #888 #555 #bbb margin: 0; padding: 2px 3px; } #menu a { color: #C7C7C7; background: #000; text-transform: small-caps; } #menu a:hover { color: #fff; background: #000000; } /* ********* secondary links ************** */ #menu li li a { color: #C7C7C7; background: #292A2C; text-decoration: none; } #menu li li a:hover { color: #FFF; background: #292A2C; } #menu li:hover { z-index:1;} #menu li {position: relative} #menu ul ul { position: absolute; z-index:100; left:0; top:auto; display:none; } div#menu ul ul, div#menu ul li:hover ul ul {display: none;} div#menu ul li:hover ul, div#menu ul ul li:hover ul {display: block;} <!--[if IE]> <style type="text/css" media="screen"> body { behavior: url(behavior.htc); /* call hover behaviour file */ font-size: 100%; /* enable IE to resize em fonts */ } } #menu ul li a { height: 1%; /* make links honour display: block; properly */ } </style> <![endif]--> Link: http://cemtec.quicksites.co.za CSS: http://cemtec.quicksites.co.za/wp-c...grass/style.css Hi This dropdown menu on Products works in Firefox but when I goto IE7 I dont see anything at all. I have tried changing the div Class to a Div Id also without any change. Anybody have any clues to what I have todo? L. Need some help with some dropdown menus. I have been reading many of the tutorials on other sites. I have come up with this code for my drop down menus: Code: .dropmenu { position: absolute; left: -1500px; visibility: visible; z-index: 101; float: left; width: 122px; border-width: 1px; border-style: solid; border-color: #BFBFBF; background-color: #FFFFFF; } .dropmenu ul { margin: 0; padding: 0; list-style-type: none; } .dropmenu li { display: inline; } .dropmenu a, .dropmenu a:visited, .dropmenu a:active { display: block; width: 120px; padding: 2px; margin: 1px; font-family: Arial; font-size: 10px; font-weight: normal; text-align: center; text-decoration: none; color: #000000; background-color: #D4D4D4; } .dropmenu a:hover { padding: 2px; margin: 1px; font-family: Arial; font-size: 10px; font-weight: normal; text-align: center; text-decoration: none; color: #000000; background-color: #BFBFBF; } but no matter how much I adjust settings that I know, I cannot get the dropdowns to show up below my original buttons, they always show up to the right hand side. Can someone here please point me in the right direction... I'm looking to add a drop down menu for my site but Instead of the menu dropping down i want it to go up and I found a few things about it but nothing really helped me I was wondering how can i get a css drop down to go up? sorry if this is the wrong forum to post on.. but i am clueless on this part i am going to be starting on the script soon just wanted to know how to code the script to make it go up Thank you Smackadoo I have been hunting around for an all CSS drop down menu that when you hover on the heading the menu expands down to show the heading 1 menu and if you hovered over the next menu item this expands to show that menu list instead a bit like the 'be the first to apply' on the right of this page, http://www.fish4.co.uk/iad/jobs search for say 'admin' just to get to the results page as this is where the menu is. the look is not important but the function is BUT.... i wanted to have many links in the drop down not just the one as in this example. this is the extracted code i have got so far that does what you see on this page. Code: <style> #rightcolumn { float: right; width: 170px; text-align: center; } #leftcolumn { float: left; width: 545px; padding: 10px; } h3#bftahead { text-align:left; color:#c1001f; font-size:1.5em; font-weight:bold; margin:23px 0px 10px 0px; } #bfta h4 { font-size:1.1em; margin:0em; padding:0.4em 0.1em 0.6em 0.1em } #bfta { width:170px; text-align:left; padding:0px; margin:0px 0px 10px 0px; list-style-type:none; height:47em; overflow:hidden; background:#ffffff url('images/bfta-background.jpg') bottom no-repeat; border-bottom:1px solid #cfcfcf; } #bfta li {float:left;width:100%;} #bfta li a { padding:0.5em 3%; display:block; width:94%; height:1.95em; margin-bottom:-0.4em; overflow:hidden; text-decoration:none; background:transparent url('images/bfta-background.png') no-repeat; color:#333333; font-family:arial, sans-serif; } #bfta li a#last, #bfta li a:hover {height:24em;} #bfta-whitebrand {list-style:none;margin:0em 0em 1em 1em;padding:0px;} #bfta-whitebrand li {padding:0em 0.4em;} </style> <div id="leftcolumn"> <ul id="bfta"> <li> <h4>a1</h4> a1 </li> <li><a href="a2"> <h4>a2</h4> a2</a> </li> <li><a href="a3"> <h4>a4</h4> a3</a> </li> </ul> </div> Hi I am trying to create a drop down menu on my existing design. Code: http://dfinnema.com/help How would I add a drop down to Page 3 menu that looks like this: Code: http://dfinnema.com/help/images/dropdown_active.png Without the menu: Code: http://dfinnema.com/help/images/dropdown.png Any Ideas / Suggestions? :| I currently have a menu sprite set up that works. I also have a css dropdown menu set up as well in conjunction with the sprite menu. Issue: The dropdown does not work in IE6. It drops down behind the div just below it (never to see it until I hid the contents in the div below) even after adding z-index to nearly every attribute. After hiding the contents in the div below, I see the drop down, but as soon as I mouse over it, it disappears. This has been a headache for me and I need to get this resolved asap. Here is the CSS: aunkor.com/css.html Here is the HTML: aunkor.com/html.html Please help! >_< hey all, I have been working on a multilevel suckerfish menu tutorial and i have the following: http://www.wildhosting.co.uk/cssMenu/menu.php However, i am having a couple of final problems. 1) In FF the grey highlight colour does not seem to fill from top to bottom on the main menu. 2) In FF, When a sub menu (for the top option of the menu) appears the top border of the submenu overlaps the bottom border of the main menu. 3) In IE, the above are ok but the submenu appears a long way from where it should, ie 5cm to the right... any help would be great, thanks RF |