Skip navigation
Currently Being Moderated

Horizontal Spry Menu appears as bullet point list in IE8 and below - fine in firefox, chrome and IE9

Jun 27, 2012 7:28 AM

Tags: #spry #ie8_issues

This one is breaking my brain! I have an horizontal spry menu bar in my website that renders correctly in all browsers except ie 8 and below where it appears like an unordered list - almost like no CSS had been applied at all. You can check out the site here http://www.webhance.com.au. The spry css looks like this:

 

@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;

padding: 0;

list-style-type: none;

font-size: 130%;

cursor: default;

width: auto;

float:right;

}

/* 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

{

margin: 0;

padding: 0;

list-style-type: none;

font-size: 100%;

position: relative;

cursor: pointer;

width: 150px;

float: right;

text-align:center;

font-family:"AvantGarde Bk BT";

}

/* 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;

width: 150px;

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: 150px;

}

/* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */

ul.MenuBarHorizontal ul ul

{

position: absolute;

margin: -5% 0 0 95%;

}

/* 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-right: 1px solid #9fe2fd;

text-align:center;

font-family:"AvantGarde Bk BT";

background-color:#4c859d;

color:#FFF;

}

/* Menu items are a light gray block with padding and no text decoration */

ul.MenuBarHorizontal a

{

border-right: 1px solid #9fe2fd;

display: block;

cursor: pointer;

background-color: #4c859d;

padding: 0.5em 0.75em;

color: #FFF;

text-decoration: none;

}

/* Menu items that have mouse over or focus have a blue background and white text */

ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus

{

background-color: #4c859d;

color: #9cc9a0;

}

/* 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

{

background-color: #4c859d;

color: #9cc9a0;

}

 

/********************************************************************* **********

 

SUBMENU INDICATION: styles if there is a submenu under a given menu item

 

********************************************************************** *********/

 

 

/* 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-image: url(SpryMenuBarDown.gif);

background-repeat: no-repeat;

background-position: 95% 50%;

}

/* 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-image: url(SpryMenuBarRight.gif);

background-repeat: no-repeat;

background-position: 95% 50%;

}

/* 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-image: url(SpryMenuBarDownHover.gif);

background-repeat: no-repeat;

background-position: 95% 50%;

}

/* 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-image: url(SpryMenuBarRightHover.gif);

background-repeat: no-repeat;

background-position: 95% 50%;

}

/********************************************************************* **********

 

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;

float: left;

background: #FFF;

}

}

 

 

The HTML for the section looks like this:

 

<div class="header">
  <ul id="MenuBar1" class="MenuBarHorizontal">
  <li><a href="index.html" id=button1>Home</a></li>
  <li><a class="MenuBarItemSubmenu" href="#">Services</a>
    <ul>
      <li><a href="design.html">Web Design</a>        </li>
      <li><a href="maintenance.html">Web Maintenance</a></li>
      <li><a href="social.html">Social Media</a></li>
    </ul>
  </li>

  <li><a href="portfolio.html">Portfolio</a></li>
  <li><a href="contact.html">Contact</a>    </li>
</ul>
<!-- end .header --></div>

 

 

I really really need some help - hope someone out there can point me in the right direction :-)

 

Julie

 
Replies
  • Currently Being Moderated
    Jun 27, 2012 8:08 PM   in reply to Julester75

    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" media="only screen and (min-width: 769px)"/>

    Gramps

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points