February 18, 201214 yr Hi, Re:Drop down menu not aligning in IE 8 . Mozilla OK I have inserted a horizontal menu bar with one submenu. This works fine in chrome and mozilla but not in IE8. The dropdown submenu has 9 lines. In IE8 the vertical 9 lines are moved to the right into 3 columns of 3 lines with the outside border overflowing to the right. Please see below my css script. Abit messy but i have just started. Any help would be great. ------ @charset "UTF-8"; /* SpryMenuBarHorizontal.css - version 0.6 - Spry Pre-Release 1.6.1 */ /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */ /******************************************************************************* LAYOUT INFORMATION: describes box model, positioning, z-order *******************************************************************************/ /* The outermost container of the Menu Bar, an auto width box with no margin or padding */ ul.MenuBarHorizontal { margin: 0; list-style-type: none; font-size: 100%; cursor: default; } /* SET PADDING FOR TOP MENU BAR FROM LEFT. Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */ ul.MenuBarActive { z-index: 1000; } /* Menu item containers, position children relative to this container and are a fixed width */ ul.MenuBarHorizontal li { list-style-type: none; font-size: 100%; position: relative; text-align: left; cursor: pointer; float: left; margin-top: 0; margin-right: 0; margin-bottom: 0; padding-right: 0px; padding-left: 0px; } /* SET WIDTH TO AUTO FOR TOP MENU TEXT ALIGN, THEN PAD WITH HORIZONTAL a . SUBMENU LEFT PADDING DONE FROM NEW "ul.MenuBarHorizontal li ul li a" .Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */ ul.MenuBarHorizontal ul { margin: 0; padding: 0; list-style-type: none; font-size: 100%; z-index: 1020; cursor: default; position: absolute; left: -1000em; } /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */ ul.MenuBarHorizontal ul.MenuBarSubmenuVisible { left: auto; } /* Menu item containers are same fixed width as parent */ ul.MenuBarHorizontal ul li { width: 17em; background-color: #; } /* SUBMENUS COLOUR (NON HOVER) AND WIDTH - colour for submenu bg and sub menu width. should appear slightly overlapping to the right (95%) and up (-5%) */ ul.MenuBarHorizontal ul ul { position: relative; width: 10em; margin-top: 0%; margin-right: 0; margin-bottom: 0; margin-left: 100%; } /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */ ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible { left: auto; top: 0; } /******************************************************************************* DESIGN INFORMATION: describes color scheme, borders, fonts *******************************************************************************/ /* Submenu containers have borders on all sides */ ul.MenuBarHorizontal ul { border: 1px solid #CCC; } /* Menu items are a light gray block with padding and no text decoration */ ul.MenuBarHorizontal a { display: block; cursor: pointer; color: #FFF; text-decoration: none; font-family: Verdana, Geneva, sans-serif; font-size: 12px; font-weight: 500; background-position: right center; padding-top: 14px; padding-right: 1em; padding-bottom: 0em; padding-left: 0.5em; height: 25px; background-image: url(../images/topmenugreybutton.png); } /* OK.TOPMENU BG COLOUR(NON SUBMENU OR HOVER STATE), ul.MenuBarHorizontal a = sets TOPMENU COLOUR AND TEXT, PADDING etc */ ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus { color: #FFF; background-color: #F00; background-image: url(../images/SUBmenuyellow.png); } /* TOP MENU HOVER (ALSO SET BELOW UL.),BORDERS, Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */ ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible { color: #333; background-image: url(../images/SUBmenuyellow.png); } /******************************************************************************* BG AND TEXT COLOUR FOR MOUSE OVER FOR TOP MENU AND SUBMENU *******************************************************************************/ /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */ ul.MenuBarHorizontal a.MenuBarItemSubmenu { background-position: right center; background-image: url(../images/topmenugreybutton.png); } /* COLOUR FOR TOP MENU (NON HOVER STATE) CONTAINING A SUBMENU -Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */ ul.MenuBarHorizontal ul a.MenuBarItemSubmenu { background-position: 95% 50%; } /* OK, TOP MENU HOVER CONTAINING SUB MENU - Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */ ul.MenuBarHorizontal a.MenuBarItemSubmenuHover { background-position: 95% 50%; background-repeat: repeat; background-image: url(../images/SUBmenuyellow.png); } /* TOP LEVEL HOVER FOR IETMS WITH SUBMENU -Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */ ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover { background-repeat: repeat; background-position: 95% 50%; background-color: #00F; } /******************************************************************************* BROWSER HACKS: the hacks below should not be changed unless you are an expert *******************************************************************************/ /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */ ul.MenuBarHorizontal iframe { position: absolute; z-index: 1010; filter:alpha(opacity:0.1); } /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */ @media screen, projection { ul.MenuBarHorizontal li.MenuBarItemIE { display: inline; f\loat: left; background: #FFF; } } ul.MenuBarHorizontal li ul li a { color: #666; margin-left: 0px; border-right-style: none; background-image: url(../images/LIGHTGREYbutton.png); height: 10px; padding-bottom: 6px; font-size: 11px; border-bottom-style: none; } /* OK, SUBMENU COLOUR ((WITH IMAGE) IN NON HOVER STATE, LINE HEIGHT, PAD TEXT 6PX AT BOTTOM*/ ------- Regards, Richard. Edited February 18, 201214 yr by Renaissance-Design Please use the code button or tags to format your code.
February 18, 201214 yr Best advice I can possibly give you is: get rid of it. It uses ugly parsing hacks that came off the Ark; it's a much better idea to fully grasp dropdowns yourself. Start here. If you personally write every line of CSS you'll have a much better idea of how they're all interacting and you'll be able to troubleshoot better. Edit: a warning though. The Javascript in that article is a little out of date, and is only meant to target IE6. It'll work just fine without it on IE7+. Edited February 18, 201214 yr by Renaissance-Design
February 23, 201214 yr Author Best advice I can possibly give you is: get rid of it. It uses ugly parsing hacks that came off the Ark; it's a much better idea to fully grasp dropdowns yourself. Start here. If you personally write every line of CSS you'll have a much better idea of how they're all interacting and you'll be able to troubleshoot better. Edit: a warning though. The Javascript in that article is a little out of date, and is only meant to target IE6. It'll work just fine without it on IE7+. Chris, thank you for replying. I agreed about writing CSS myself, it will help me in the long run. Many thanks, richard
Create an account or sign in to comment