Results 1 to 8 of 8

Thread: Nested Side Bar Menu - Background Color Question

  1. #1
    Join Date
    May 2011
    Posts
    7
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Nested Side Bar Menu - Background Color Question

    Hi,
    I'm using the "Nested Side Bar Menu":
    http://www.dynamicdrive.com/style/cs...side_bar_menu/

    Question: Is there a way to have a separate background color for the sub-menu?
    In other words- a different color than the parent menu...

    In the CSS: /*Sub level menu items */
    If I try to add this- nothing seems to change.
    .background-color: #E2F1F8;
    }



    Thanks very much,
    Jimmy

  2. #2
    Join Date
    May 2011
    Location
    SFBA, CA, USA
    Posts
    94
    Thanks
    6
    Thanked 7 Times in 7 Posts

    Default

    Hi Jimmy,

    Try giving the <li>s of each level a separate class, removing any background-color references that are within the non-li parent containers. Then assign a bkgd color to each <li> level.

    dbc





    -------------------------------------------------
    If this was helpful, please click the 'thanks' button.

  3. #3
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    Code:
    /*Sub level menu items */
    .sidebarmenu ul li ul{
    position: absolute;
    width: 170px; /*Sub Menu Items width */
    top: 0;
    visibility: hidden;
    background-color: yellow;
    }
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  4. The Following User Says Thank You to jscheuer1 For This Useful Post:

    Jimmy506 (05-08-2011)

  5. #4
    Join Date
    May 2011
    Posts
    7
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default

    Hey thanks guys-

    I still can't seem to make it work though.

    On the idea of giving each <li> it's own class... I don't even know how to start with doing that.

    Anyway you could demonstrate using the example here:
    http://www.dynamicdrive.com/style/cs...side_bar_menu/

    Thanks,
    Jimmy

  6. #5
    Join Date
    May 2011
    Location
    SFBA, CA, USA
    Posts
    94
    Thanks
    6
    Thanked 7 Times in 7 Posts

    Default

    When initially attempting to help, I tried John's method too. For some reason, however, the parent ul css stays in control of the sub ul, so it didn't work - very strange. So, I tried separating the li's with their own classes and omitting background color reference from the parent ul li ul format. This was the only way I could get it to work. Here's what I did:

    Remove the background-color reference from here:
    Code:
    .sidebarmenu ul li a:link, .sidebarmenu ul li a:visited, .sidebarmenu ul li a:active{
    background-color: #012D58; /*background of tabs (default state)*/
    }
    Give each level's li it's own class:

    Code:
    .level1 {
    background-color: #ff2233;
    }
    
    .level2 {
      background-color: #440044;
    } 
    
    
    .level3 {
      background-color: #009900;
    } 
    
    and
    
    <ul id="sidebarmenu1">
    <li class="level1"><a href="#">Item 1</a></li>
    <li class="level1"><a href="#">Item 2</a></li>
    <li class="level1"><a href="#">Folder 1</a>
      <ul class="sub1">
      <li class="level2"><a href="#">Sub Item 1.1</a></li>
      <li class="level2"><a href="#">Sub Item 1.2</a></li>
      </ul>
    </li>
    
    ...etc
    dbc







    -------------------------------------------------
    If this was helpful, please click the 'thanks' button.
    Last edited by deathbycheese; 05-08-2011 at 06:32 PM. Reason: oops. hit the submit button before i was ready.

  7. The Following User Says Thank You to deathbycheese For This Useful Post:

    Jimmy506 (05-08-2011)

  8. #6
    Join Date
    May 2011
    Posts
    7
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default

    Hey thanks to both of you: John and DBC!

    DBA...Once I removed this background-color reference, John's method started working:
    .sidebarmenu ul li a:link, .sidebarmenu ul li a:visited, .sidebarmenu ul li a:active{
    background-color: #012D58; /*background of tabs (default state)*/
    }

    But also your <li> styling is working out too. Thanks for the time to spell it out for me.
    Jimmy

  9. #7
    Join Date
    May 2011
    Location
    SFBA, CA, USA
    Posts
    94
    Thanks
    6
    Thanked 7 Times in 7 Posts

    Default

    Teamwork.








    -------------------------------------------------
    If this was helpful, please click the 'thanks' button.

  10. #8
    Join Date
    Jan 2011
    Location
    Southeastern CT
    Posts
    612
    Thanks
    46
    Thanked 32 Times in 32 Posts

    Default this works too

    http://web-user.net/1test/4/1.html

    Code:
    <html>
    <head>
    <title></title>
    <style type="text/css">
    
    /*Credits: Dynamic Drive CSS Library */
    /*URL: http://www.dynamicdrive.com/style/ */
    
    .sidebarmenu ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
    font: bold 13px Verdana;
    width: 180px; /* Main Menu Item widths */
    border-bottom: 1px solid #ccc;
    }
     
    .sidebarmenu ul li{
    position: relative;
    }
    
    /* Top level menu links style */
    .sidebarmenu ul li a{
    display: block;
    overflow: auto; /*force hasLayout in IE7 */
    color: white;
    text-decoration: none;
    padding: 6px;
    border-bottom: 1px solid #778;
    border-right: 1px solid #778;
    }
    
    .sidebarmenu ul li a:link, .sidebarmenu ul li a:visited {
    background-color: #d11b70;
    }
    
    .sidebarmenu ul li a:visited{
    color: white;
    }
    
    .sidebarmenu ul li a:hover{
    background-color: blue;
    }
    
    /*Sub level menu items */
    .sidebarmenu ul li ul{
    position: absolute;
    width: 170px; /*Sub Menu Items width */
    top: 0;
    visibility: hidden;
    background-color:#3de616;
    }
    
    .sidebarmenu ul li ul a:link {
    background-color: #3de616;
    }
    
    .sidebarmenu ul li ul a:hover{
    background-color: blue;
    }
    
    .sidebarmenu ul li ul li ul a:link {
    background-color: bisque;
    }
    
    .sidebarmenu ul li ul li ul a:hover{
    background-color: grey;
    }
    
    .sidebarmenu a.subfolderstyle{
    background: url(right.gif) no-repeat 97% 50%;
    }
    
     
    /* Holly Hack for IE \*/
    * html .sidebarmenu ul li { float: left; height: 1%; }
    * html .sidebarmenu ul li a { height: 1%; }
    /* End */
    
    </style>
    
    <script type="text/javascript">
    
    //Nested Side Bar Menu (Mar 20th, 09)
    //By Dynamic Drive: http://www.dynamicdrive.com/style/
    
    var menuids=["sidebarmenu1"] //Enter id(s) of each Side Bar Menu's main UL, separated by commas
    
    function initsidebarmenu(){
    for (var i=0; i<menuids.length; i++){
      var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
        for (var t=0; t<ultags.length; t++){
        ultags[t].parentNode.getElementsByTagName("a")[0].className+=" subfolderstyle"
      if (ultags[t].parentNode.parentNode.id==menuids[i]) //if this is a first level submenu
       ultags[t].style.left=ultags[t].parentNode.offsetWidth+"px" //dynamically position first level submenus to be width of main menu item
      else //else if this is a sub level submenu (ul)
        ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
        ultags[t].parentNode.onmouseover=function(){
        this.getElementsByTagName("ul")[0].style.display="block"
        }
        ultags[t].parentNode.onmouseout=function(){
        this.getElementsByTagName("ul")[0].style.display="none"
        }
        }
      for (var t=ultags.length-1; t>-1; t--){ //loop through all sub menus again, and use "display:none" to hide menus (to prevent possible page scrollbars
      ultags[t].style.visibility="visible"
      ultags[t].style.display="none"
      }
      }
    }
    
    if (window.addEventListener)
    window.addEventListener("load", initsidebarmenu, false)
    else if (window.attachEvent)
    window.attachEvent("onload", initsidebarmenu)
    
    </script>
    
    </head>
    <body>
    <div class="sidebarmenu">
    <ul id="sidebarmenu1">
    <li><a href="#">Item 1</a></li>
    <li><a href="#">Item 2</a></li>
    <li><a href="#">Folder 1</a>
      <ul>
      <li><a href="#">Sub Item 1.1</a></li>
      <li><a href="#">Sub Item 1.2</a></li>
      </ul>
    </li>
    <li><a href="#">Item 3</a></li>
    
    <li><a href="#">Folder 2</a>
      <ul>
      <li><a href="#">Sub Item 2.1</a></li>
      <li><a href="#">Folder 2.1</a>
        <ul>
        <li><a href="#">Sub Item 2.1.1</a></li>
        <li><a href="#">Sub Item 2.1.2</a></li>
        <li><a href="#">Sub Item 2.1.3</a></li>
        <li><a href="#">Sub Item 2.1.4</a></li>
        </ul>
      </li>
    </ul>
    </li>
    <li><a href="#">Item 4</a></li>
    </ul>
    </div>
    </body>
    </html>
    But I seem to be a bit late and not as easy as the other options,-oh well

    Bud

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •