[Solved] display current submenu and hide when hovering over others

For discussion and questions related to CMS Specific templates and stylesheets (CSS), and themes. or layout issues. This is not a place for generic "I don't know CSS issues"
Post Reply
rrochelle
New Member
New Member
Posts: 2
Joined: Fri Aug 08, 2008 8:00 pm

[Solved] display current submenu and hide when hovering over others

Post by rrochelle »

Dear CMSMS community,

I use: CMSMS 1.4 "Jamaica", with the (slightly customized) "CSSMenu top + 2 columns" Template.

I have a horizontal menu which has horizontically arranged submenu items bolow. These submenu items are showing when hovering with the cursor over the associated main menu item. This is the part that works fine for me.

Now I would like to have the current or associated submenu displayed initially but when hovering over other main menu items the current page submenu should not be displayed. However, when not hovering over other menu items, the current submenu should be displayed again.

How can I do this?

Is there a way to tell the current submenu to hide when hovering over the other main/submenu items?

I would highly appreciate any hint!

Cheers, rrocchelle


Btw, here is how the menu is embedded in the template:

Code: Select all

{* Start Navigation *}
      <div id="menu_vert">
         <h2 class="accessibility">Navigation</h2>
         {menu template='cssmenu.tpl' number_of_levels='2'}
      <hr class="accessibility" />
      </div>
      {* End Navigation *}
Here is the CSS code I am currently using:

Code: Select all

/* Horizontal menu for the CMS CSS Menu Module */
/* by Alexander Endresen */

#menu_vert {
   margin-left: 1px;
   margin-right: 1px;
}

/* The wrapper clears the floating elements of the menu */

/* Fix for Opera 8 */
.clearb { clear: both; }
#menuwrapper { 
   /* Fix for Opera 8 */ 
   /*   overflow: hidden;  */ 
   background-color: #BE0926;
   width: 100%;
}

/* Set the width of the menu elements at second level. Leaving first level flexible. */
#primary-nav li li { 
}


/* Unless you know what you do, do not touch this */ 
#primary-nav, #primary-nav ul { 
   list-style: none; 
   margin: 0px; 
   padding: 0px; 
}
#primary-nav ul { 
   position: absolute; 
   top: auto; 
   display: none; 
}
#primary-nav ul ul { 
   margin-top: 1px;
   margin-left: -1px;
   left: 100%; 
   top: 0px; 
}
	
#primary-nav li { 
   margin-left: -1px;
   float: left; 
}
#primary-nav li li { 
   margin-left: 0px;
   margin-top: -1px;
   float: left; 
   position: relative; 
}

/* Styling the basic apperance of the menu elements */
#primary-nav a { 
   display: block; 
   margin: 0px; 
   padding: 5px 10px; 
   text-decoration: none; 
}
#primary-nav a.menuparent {
   color: #BE0926;
   background-color: white;
}

#primary-nav li a { 
   border-right: 1px solid #BE0926;
   border-left: 1px solid #BE0926;
}
#primary-nav li li a { 
   border: 1px solid #C0C0C0;
}	
#primary-nav li, #primary-nav li.menuparent { 
   background-color: #FFFFFF; 
}

/* Styling the basic apperance of the active page elements (shows what page in the menu is being displayed) */

#primary-nav li.menuactive { 
   color: white;
   background-color: #BE0926;
}

#primary-nav a.menuactive {
   color: white;
   background-color: #BE0926;
}

/* Styling the basic apperance of the menuparents - here styled the same on hover (fixes IE bug) */
#primary-nav ul li.menuparent, 
#primary-nav ul li.menuparent:hover, 
#primary-nav ul li.menuparenth,
#primary-nav a.menuparent:hover { 
}

/* Styling the apperance of menu items on hover */

#primary-nav li:hover, 
#primary-nav li.menuh, 
#primary-nav li.menuparenth, 
#primary-nav li.menuactiveh,
#primary-nav a.menuparent:hover { 
   color: #FFFFFF;
   background-color: #BE0926; 
}


/* The magic - set to work for up to a 3 level menu, but can be increased unlimited */

/* 
just add 
#primary-nav li:hover ul ul, 
#primary-nav li.menuparenth ul ul ul,
for fourth level 
*/
#primary-nav ul, 
#primary-nav li:hover ul, 
#primary-nav li:hover ul ul, 
#primary-nav li.menuparenth ul, 
#primary-nav li.menuparenth ul ul { 
   display: none; 
}


/* add 
#primary-nav ul ul ul li:hover ul, 
#primary-nav ul ul ul li.menuparenth ul,
for fourth level
*/
#primary-nav li:hover ul, 
#primary-nav ul li:hover ul, 
#primary-nav ul ul li:hover ul, 
#primary-nav li.menuparenth ul, 
#primary-nav ul li.menuparenth ul, 
#primary-nav ul ul li.menuparenth ul { 
   display: block; 
}


/* IE Hacks */
#primary-nav li li { 
   float: left; 
   
}
#primary-nav li li a { 
   height: 1%; 
}
Last edited by Anonymous on Fri Aug 15, 2008 7:41 am, edited 1 time in total.
User avatar
Dr.CSS
Moderator
Moderator
Posts: 12711
Joined: Thu Mar 09, 2006 5:32 am

Re: display current submenu and hide when hovering over others

Post by Dr.CSS »

See this is the kind of thing I could tell you right off if i had a link...

But basically you give your second level "ul" a background color/image...
rrochelle
New Member
New Member
Posts: 2
Joined: Fri Aug 08, 2008 8:00 pm

Re: display current submenu and hide when hovering over others

Post by rrochelle »

Mark,

thanks for your kind support. I had the installation running locally and just uploaded it to provide a link as I am not quite sure if I understand your solution yet.

[link removed]

Cheers,
rrochelle
Last edited by rrochelle on Mon Aug 11, 2008 12:22 pm, edited 1 time in total.
dowoam
Forum Members
Forum Members
Posts: 25
Joined: Sat Mar 15, 2008 9:21 am

Re: display current submenu and hide when hovering over others

Post by dowoam »

Hi rrochelle,

I think, you'llget it display by giving the menuactive element a "display:block".

The problem will be, to hide this aktive menu again bei hovering an other first level element.

greetings
Dirk

Hope, I understood your problem right
???

Iss ja ne deutsche Seite.  ;D
cool!
May you contact me via PM to solve in German language?
Last edited by dowoam on Sat Aug 09, 2008 11:32 am, edited 1 time in total.
User avatar
Dr.CSS
Moderator
Moderator
Posts: 12711
Joined: Thu Mar 09, 2006 5:32 am

Re: display current submenu and hide when hovering over others

Post by Dr.CSS »

Your looking for something like this, not exactly but with the background changing?...

http://multiintech.com/cmsmsdemo/
Post Reply

Return to “Layout and Design (CSS & HTML)”