Skip navigation
deichb
Currently Being Moderated

Spry Menu: Background image not extending the length of the subs in IE, ok in Chrome.

Jan 19, 2013 9:11 PM

Tags: #background #dreamweaver #spry #cs6

Hello group.

 

I am trying to get my spry menu to look proper in Internet Explorer (v9). The background image on the submenus stop at the end of the word and do not extend to the boarder of the submenu. In Chrome or Firefox, the image does extend and looks great. What am I missing? Below is the code for review. Thanks in advance for your assistance!

 

---------------------------------------------------------------------- ---------------------------------------------------------------------- -----------------------------------------------

 

@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

{

          width: 940px;

          height: 58px;

          margin: 0px auto;

          padding: 10px 20px 0px 20px;

 

}

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

          text-align: left;

          cursor: pointer;

          width: auto;

          float: left;

}

/* 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: 15.2em;

          position: relative;

          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: auto;

          float: none;

          background-color: transparent;

}

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

}

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

ul.MenuBarHorizontal a

{

          display: block;

          cursor: pointer;

          padding: 0.5em 2.25em;

          text-decoration: none;

          letter-spacing: 1px;

          text-transform: uppercase;

          font-family: 'Oswald', sans-serif;

          font-size: 14px;

          font-weight: normal;

          color: #B5B5B5;

          background-image: url(../images/img03.gif);

          background-position: 50%;

          background-repeat: repeat-x;

}

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

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

{

          color: #FFFFFF;

          background-image: url(../images/img03.gif);

          font-family: 'Oswald', sans-serif;

          background-repeat: repeat-x;

          font-size: 15px;

 

}

/* 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: #FFFFFF;

          background-repeat: repeat-x;

 

 

}

 

 

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

 

 

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(../images/img03.gif);

          background-repeat: repeat-x;

          font-family: 'Oswald', sans-serif;

}

/* 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(../images/img03.gif);

          background-repeat: repeat-x;

          font-family: 'Oswald', sans-serif;

}

/* 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(../images/img03.gif);

          background-repeat: repeat-x;

          font-family: 'Oswald', sans-serif;

}

/* 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(../images/img03.gif);

          background-repeat: repeat-x;

          font-family: 'Oswald', sans-serif;

}

 

 

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

 

 

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-color: #FFF;

          background-image: url(../images/img03.gif);

          background-repeat: repeat-x;

          }

}

 

---------------------------------------------------------------------- ---------------------------------------------------------------------- -----------------------------------------------

 

Brad

 
Replies
  • Currently Being Moderated
    Jan 20, 2013 3:11 AM   in reply to deichb

    Hello,

     

    I for my part would prefer a link to your website (Blog?) in order to see the whole website in context. Please send a link, so I/we could better analyze.

     

    Hans-Günter

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 20, 2013 11:36 PM   in reply to deichb

    Hi Brad,

     

    as a "first step" I recommend to change this here:

     

    ul.MenuBarHorizontal ul
    {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 100%;
    z-index: 1020;
    cursor: default;
    width:200px;
    /* width: 15.2em; */
    position: relative;
    left: -1000em;
    }


    and

     

    ul.MenuBarHorizontal ul li
    {
    width: 200px;
    /* width: auto;*/
    float: none;
    background-color: transparent;
    }

     

    You could use other widths or other dimensions too. Esp.you should have a look for the critical lenght of your longer words in your submenus like "Veterans Benefits" aso.

     

    Good luck!

    Hans-Günter

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 26, 2013 11:43 PM   in reply to deichb

    1. Resurrect the original SpryMenuBarHorizontal.css, too many irregularities in the modified one.

     

    2. remove line 18-20 from the main document

     

    3. add a closing UL-tag to line 83 main document

     

    4. Then add the following to the bottom of the original SpryMenuBarHorizontal.css

     

    ul.MenuBarHorizontal {
        width: 940px;
        margin: auto;
        font-family: 'Oswald', sans-serif;
        font-size: 14px;
        letter-spacing: 1px;
    }
    ul.MenuBarHorizontal li {
        width: auto;
    }
    ul.MenuBarHorizontal ul {
        width: auto;
    }
    ul.MenuBarHorizontal ul li {
        display: block;
        float: none !important;
        width: auto;
        white-space: nowrap;
    }
    ul.MenuBarHorizontal a {
        color: #B5B5B5;
        text-transform: uppercase;
        padding: 1.1em 3em 1.1em 1.5em;
        background: url(../images/img03.gif) repeat-x -100px;
    }
    ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus, ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible {
        background-color: transparent;
        color: #FFF;
    }
    ul.MenuBarHorizontal li.MenuBarItemIE {
        background: url(../images/img03.gif) repeat-x -100px;
    }
    
     
    |
    Mark as:
  • Currently Being Moderated
    Jan 27, 2013 1:24 PM   in reply to deichb

    Before you attempt to edit Spry CSS code, review these 2 articles.

     

    Spry Menus 10 Commandments

    http://www.dwcourse.com/dreamweaver/ten-commandments-spry-menubars.php

     

    Fixing Spry Menus 1.6.1

    http://www.projectseven.com/testing/adobe-bugs/spry-menus/

     

    FYI: Spry 1.6 predates IE9 and doesn't work well in modern touch screen devices.  Adobe abandoned Spry last year because it has outlived its usefulness.  

    http://blogs.adobe.com/dreamweaver/2012/08/update-on-adobe-spry-framew ork-availability.html

     

    You can keep using Spry menus if you wish, but most of us have switched to other, more reliable menu systems.

     

     

    Nancy O.

     
    |
    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