CSS - Mouseover For Menu Display Doesn't Work
Hi,
I have a two column CSS layout - the stylesheet and web page that uses it are attached. I tried to put a menu in the left column (technically div) - of this web page. This is a menu that uses JS mouseover and mouseout to set the style of the children menus to block or none - to show or hide the children or submenu items. onmouseover="document.all.child1.style.display='block' onmouseout="document.all.child1.style.display='none' When you mouseover the menu item, children menu items underneath it are supposed to be displayed, but they're not. Please look at the style sheet - and web page. Any idea why this menu works outside of the CSS two column layout, but not when I place the code inside this layout?????? Thanks Vmusic Similar TutorialsHi, **UPDATE: Problem Fixed...change the z-index of the parent menu element, thanks mizzory!*** Thank you for viewing this post and your help is greatly appreciated! The navagation menu works great in IE8 and Firefox, however in IE7, the drop-down hides behind the content div. I have tried assigning z-index to the divs, but with no luck. #wrap { margin:auto; width:1000px; background-color: #FFFFFF; background-repeat: repeat-y; min-height:100%; position:relative; } html, body { margin:0; padding:0; height:100%; } #content { min-height: 400px; padding-bottom:50px; /* Height of the footer */ position:relative; } #header { height: 200px; } #footer { position:absolute; bottom:0; width:100%; height:50px; /* Height of the footer */ font-size: 14px; font:Arial, Helvetica, sans-serif, bold; text-align:center; color:#FFFFFF; } /*horizontal menu specifications*/ #menu { background: #FFFFFF; float: left; height:40px; } #menu ul { list-style: none; margin: 0; padding: 0; width: 142.85px; float: left; } #menu a, #menu h2 { font: bold 13px arial, helvetica, sans-serif; display: block; border-width: 1px; border-style: solid; border-color: #FFFFFF; margin: 0; padding: 2px; text-align:center; } /* main menu header: set font colour and background colour */ #menu h2 { color: #FFFFFF; background: #0066CC; text-decoration:none; } /* main menu dropdown: set font colour, background colour, no underline for hyperlink */ #menu a { color: #000000; background: #CCCCCC; border-color: #000000; text-decoration: none; } /* main menu dropdown mouse hovering: set font colour, background colour*/ #menu a:hover { color: #E4001B; background: #FFFFFF; } /*position the pop out menu*/ #menu li { position: relative; } #menu ul ul { position: absolute; z-index: 500; } div#menu ul ul, div#menu ul li:hover ul ul, div#menu ul ul li:hover ul ul { display: none; } div#menu ul li:hover ul, div#menu ul ul li:hover ul, div#menu ul ul ul li:hover ul { display: block; } -S Please help. The code listed below validates. It is a 2 level pull out menu using only CSS. It works nicely in FireFox and IE 6, but I don't see the sub-menus in IE 7. Why? Is it related to z-index? The files are organized: html, non IE css, IE css. I pulled out the IE specific css to make things more clear. homepage.mac.com/carlamatusow/testmenu/testmenu.html homepage.mac.com/carlamatusow/testmenu/testmenu.css homepage.mac.com/carlamatusow/testmenu/testmenuIE.css Thanks, Carla My drop menu works fine in IE7, however in firefox the menu's don't drop. Anyhelp would be appreciated. Here is my css code. Code: #menu { width: 769px; height: 27px; margin: 0px auto; padding: 5px 0px 5px 0px; background: #000000 url(images/SDCB-menu-bar.gif); } #menu ul { list-style: none; margin: 0; padding: 0; width: 125px; float: left; } #menu a, #menu h2 { font: bold 11px/16px arial, helvetica, sans-serif; text-align: center; display: block; border-width: 1px; border-style: solid; border-color: #ccc #888 #555 #bbb; margin: 0; padding: 2px 3px; } #menu h2 { color: #fff; background: #000000 url(images/SDCB-menu-bar.gif); text-transform: uppercase; } #menu a { color: #000; background: #efefef; text-decoration: none; } #menu a:hover { color: #a00; background: #fff; } #menu li { position: relative; } #menu ul ul { position: absolute; z-index: 500; } #menu ul ul ul { position: absolute; top: 0; left: 100%; } div#menu ul ul, div#menu ul li:hover ul ul, div#menu ul ul li:hover ul ul {display: none;} div#menu ul li:hover ul, div#menu ul ul li:hover ul, div#menu ul ul ul li:hover ul {display: block;} Here is the HTML. Code: <div id="menu"> <ul> <li style="left: 50%;"><a href="http://mysite/index.html" title="HOME"><h2>HOME</h2></a></li> </ul> <ul> <li style="left: 50%;"><a href="http://mysite/index.html" title="ABOUT US"><h2>ABOUT US</h2></a></li> <ul> <li><a href="http://mysite/index.html" title="Board of Directors">Board of Directors</a></li> <li><a href="http://mysite/index.html" title="Ex-Officio Members & Staff">Ex-Officio Members & Staff</a></li> </ul> </ul> <ul> <li style="left: 50%;"><a href="http://mysite/index.html" title="NEWS/EVENTS"><h2>NEWS/EVENTS</h2></a></li> <ul> <li><a href="http://mysite/index.html" title="Calendar">Calendar</a></li> <li><a href="http://mysite/index.html" title="Newsletter">Newsletter</a></li> <li><a href="http://mysite/index.html" title="Photo Gallery">Photo Gallery</a></li> </ul> </ul> <ul> <li style="left: 50%;"><a href="http://mysite/index.html" title="RENEWAL PROJECT"><h2>RENEWAL PROJECT</h2></a></li> <ul> <li><a href="http://mysite/index.html" title="History">History</a></li> <li><a href="http://mysite/index.html" title="Executive Summary">Executive Summary</a></li> <li><a href="mysite/index.html" title="Plan & Dependencies">Plan & Dependencies</a></li> <ul> <li><a href="http://mysite/index.html" title="Renewal Plan">Renewal Plan</a></li> <li><a href="http://mysite/index.html" title="Appendices">Appendices</a></li> </ul> <li><a href="http://mysite/index.html" title="garden">Community Learning Center & Garden</a></li> <li><a href="http://mysite/index.html" title="Get Involved">Get Involved</a></li> </ul> </ul> <ul> <li style="left: 50%;"><a href="http://mysite/index.html" title="CONTACT US"><h2>CONTACT US</h2></a></li> <ul> <li><a href="http://mysite/index.html" title="Your Thoughts">Your Thoughts</a></li> <li><a href="http://mysite/index.html" title="Donate Now">Donate Now</a></li> </ul> </ul> </div> Thank you in advance I'm going mad with this, I tested the CSS a:hover function over FF 1.0.7 and IE6, and the style file is simple: PHP Code: h3 { margin:10px; color:#636500; font-family: Arial, Helvetica, sans-serif; font-style: normal; } p { margin:10px; color:#636500; font-family: Arial, Helvetica, sans-serif; font-style: normal; } a { text-decoration: none; } a:hover { color:#636500; } a:visited { color:#cecf9c; } a:link { color:#cecf9c; } searched through the forum but seems nobody has got this problem... I just want the link to change color, I imported the css file to my html and it worked for the first time. I clicked on the link and then use brower's "Back" button to test it again, but the hover feature is not working anymore. I think it may be affected by the a:visited style, but how do I make a:hover work all the time? Thanks for helping. I have a side menu I'm trying to work with. using this css code for my menu http://www.dynamicdrive.com/dynamicindex1/popit.htm It's doing what I want it to however, I have 2 questions. 1. When the mouse is over the link and the menu pops up to the right, how can I make the text larger? I can't seem to figure this out as I'm new to css. 2. I would like the popup menu to show more to the right, off the main set of links. How would I go about this. The page above in the example has all the code I used. Look at the demo and you see. I have the main links resized fine but can't get the linkset text larger thanks in advance.. any help would be much appreciated (please note, i'm a noob).. What i have right now: ################ HTML: ################ <div id="aboutusimage"></div> ################ CSS: ################ #aboutusimage { width:400px; height:75px; background-image:url(/images/about.jpg); position:relative; left:189px; top: 4px; margin-bottom:30px; } ======================== What i'd like to have: ################ HTML: ################ <div id="banner" class="about"></div> ################ CSS: ################ #banner { width:400px; height:75px; position:relative; left:189px; top: 4px; margin-bottom:30px; } #banner.about { background-image:url(/images/about.jpg); } ====================== For some reason, the image disapears when i do this :\ Any advice? Hey everyone. I'm trying to create a cool menu system for my site and I wanted it to be images only. Its he - http://www.how-to-pass.info/topf2.html I wanted this to have cool mouse over images, as well as displaying drop down menus. Unfortunately, there are two problems: 1. Mouseover images don't display 2. Drop down menu disapears when you move over the menus. Can anyone tell me how I can get this to work in a simple way? I dont much hardly anything about style sheets and javascript etc. Many Thanks. Hi All, We develoepd an Application for a client. This application uses CSS for all text including drop-down menu text and input box text. My client is using XP as their OS and he tells me (sent a screen capture as well) he CANNOT read the drop-down boxes. Text is too small. On our machines (Win 98) there are no problems. Have tested on about 15 different client computers with no problems. Browser is not an issue as its the same for him on both Netscape and IE. Does ANYONE have a clue how to fix this? Doesn't seem logical to me - one OS should be the same as the other. However, we're talkin about MS products and who knows with them. Need urgent help on this one.. please.. anyone with ideas help me! thanks all. Peace. Aaron On my re-design of www.samuraiblog.com , I have a DIV that has quite a bit of text in it. I have it set to 100%, but it only goes about 1/4 of the way. You can see what I mean here, on a test server, http://samuraiblog.dreamhost.com/index.php Thanks, -Sam Hi there, Sorry for being silly and pathetic and crap at CSS, but I'm having an issue with a site I've been working on. Site URL is here, and the issue that I am having is as follows: I have a layer with a cloud as it's background. It's the one in the centre, called layer1 because I didn't bother renaming it. Because of the background being a cloud, the edges are curved, like a fluffy cloud would be. Obviously any text in this layer will overrun the edges of the cloud, and so I thought it would make sense to use padding to trim the text area down so it would all fit on the cloud. Now the problem that I am having is that while padding the left side works, padding the right side appears to have no effect :-( If anyone's got any hints or tips that might solve my proble, I'd be reeeeally grateful! Regards, Lawrence Hi guys Look here www DOT clickemarketing DOT com The date, before each article, should show at right. This date uses the .createdate css class, which is this Code: .createdate { color: #A9A9A9; vertical-align: top; padding-bottom:2px; float: right; font-size: 11px; } I don't know why IE shows it at left... FF shows ok Is there any way to correct this class, and make date show at right in this pseudo browser, worm collector, spyware downloader called IE ? Thanks My site works fine with Opera 7 but refuses to work properly with IE6 and Firefox. There's definately a problem with how each browser renders my CSS. I for one cannot figure out what to change so that the site would work with all three browsers. That being said, would anyone be grateful enough to help me out? Thanks! URL: URL I've included some screenshots of how the site looks like on all three browsers. URL URL URL This is my CSS File: PHP Code: .linkbody { padding: 15px 15px 6px; color: white; font-family: Verdana; font-size: 10pt; width: 160px; background-color: #006EA1; } and this my html file: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <head> <title> Schmid </title> <link type="text/css" rel="stylesheet" href="css2.css"> </head> <body> <center> <table class="linkbody" width="800"> <tr> <td> ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd </td> </tr> </table> </center> </body> </HTML> In Firefox the padding works fine, but in the IE6 it doesn't work at all makes me angry thx for any help I'm wondering why does the padding doesn't work for the <p> tag... Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> p.pFrontPageTitle { margin: 0px; padding: 200px 0xp 200px 0px; color: #000000; font-weight: bold; font-family: verdana; font-size: 12pt; font-style: normal; background-color: #FF0000; } </style> </head> <body> <p class="pFrontPageTitle">What Our Customers Say .....</p> </body> </html> http://www.invalidheart.org/carrie/ it doesn't work in anything but my resolution... can anyone help me fix this? I've had a huge hard time with this layout making it fit right, i tried using all css and i couldn't get it to fit. any suggestions? Hi, link to wesbite why doesn't the drop down menu, that works in IE6 not work in Firefox 0.8? It is pure CSS, no Javascript. OK, I know it doesn't validate and don't care too much about that. I know putting tables inside an anchor tag is frowned on but hey, it works and I didn't think it up. I thought IE was the worst when it came to CSS compliance? Any ideas how I can fix it? Thanks, John Hi guys, I've trying to achieve the following. I want to have a div element floating on the right 100px from the top and the rest of content is filled with text. PHP Code: <div>[image]</div><p>text 1</p><p>text 2</p> I could do this easily with simple float:right but then the image would at 0px from top and if I try to move it down (using margin or padding) the text wouldn't reach above it (would get cut off at the width of the image form the right) If I try to add another div with 100px height and 10px (for example) width above the image, the text overlaps over my image div Any ideas how to achieve this? Below is my full html code PHP Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> <html > <head> <title>float</title> <style type="text/css"> .content { width: 400px; background: #FFFF00; padding: 5px; } .floatright { float: right; height: 100px; border: 1px solid #000; } .offset { width: 10px; } .imgholder { width: 100px; clear: right; } </style> </head> <body> <div class="content"> <div class="floatright offset"></div> <div class="floatright imgholder"><h1>image</h1></div> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam posuere. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras ornare. Vestibulum a nulla id velit elementum imperdiet. Nam a purus. Suspendisse non enim. Nullam id sem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas aliquet varius tellus. Aliquam sed nunc eu tortor semper vulputate. Nunc risus. </p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam posuere. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras ornare. Vestibulum a nulla id velit elementum imperdiet. Nam a purus. Suspendisse non enim. Nullam id sem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas aliquet varius tellus. Aliquam sed nunc eu tortor semper vulputate. Nunc risus. </p> </div> </body> </html> Obviously something is just not clicking for me. I've spent almost all day reading, and everyone makes it sound so darn easy! I have 2 basic problems, and it doesn't seem like they should be that hard to fix. The test site is at lgs.lambrite.com/test.htm and the stylesheet is lgs.lambrite.com/new.css Problem 1. For the life of me, I cannot get the link that says "Skip To Content" to accept the more specific set of link colors. I have tried every variation I can think of, with no luck. Code: <div id="subnav0" style="position:absolute; width:769px; height:22px; z-index:3; top: 192px; visibility: visible;" class="subnav"><a href="#content">Skip to Content</a></div> Code: .subnav #subnav0 a:link a:visited a:hover a:active { color: #343457; text-decoration: none; } My second issue is a little more complicated. Right now, all my layers have their positions hard-coded. This means that the content area is fixed in height, and I need it to be able to expand to accomodate the text. I did this because I was not able to (figure out how to) place the many subnav layers in the same position to do the rollovers, the wrapper would not expand properly, and the footer would not regularly start below the end of the content. Even a good example of a similar layout would be helpful; everything that I find uses 2-3 columns, float and the clear property. I really want to understand this stuff, but if I don't figure this one out in a few days, I'm going to have to use tables and learn it the next time around. So I really appreciate any input. Thanks! Sarah Hi, Is there a good way to use css to make every element with a specified class name to have some hover attribute, for instance .class:hover would do something? For some reason it doesn't work for me unless I say div.class:hover or a.class:hover, etc. I have to specify an element. |