mevans76 dot com

 

Posted in: Examples, CSS

Vertical CSS Menu with Right Flyouts

In conjunction with the previous write up here is a left side menu system with right side flyouts. Very common and practical, this menu is easily expanded, styled and implemented.

This menu is extremely light and only requires one IE 6 CSS override (Not including whatever:hover) to display correctly.

HTC file is required for IE 6. IE 5.x IS NOT supported.

No IE 7 specifics are required for this menu.

Download Example | View live example

Preview Image of Example

Left menu with right flyouts

The CSS

/* vertical menu system w/horizontal flyout right */
/* NO IE 7 Overrides Required */
ul#vMenuList {
	padding: 0;
	margin: 0;
	list-style: none;
	width: 200px;
	border: solid #333333;
	border-width: 1px 0 0 0;
}
ul#vMenuList li {
	border: solid #333333;
	border-width: 0 1px 1px 1px;
}
ul#vMenuList li a {
	padding: 8px;
	color: #993300;
	text-decoration: none;
	font-weight: bold;
	display: block;
}
ul#vMenuList li a:hover { /* IE 6 - Override required */
	color: #FFF;
	background: #993300;
}
ul#vMenuList li.hasFLyout a {
	background: url(../images/burnt_orange_arrow.gif)
	no-repeat right center;
}
ul#vMenuList li.hasFLyout a:hover {
	color: #FFF;
	background: #993300 url(../images/white_arrow.gif)
	no-repeat right center;
}
ul#vMenuList li.hasFLyout ul li a {
	background: #FFF;
}
ul#vMenuList li.hasFLyout ul li a:hover {
	background: #993300;
}
/* menu function */
ul#vMenuList li ul {
	display: none;
	padding: 0;
	margin: 0;
	list-style: none;
	border: solid #333333;
	border-width: 1px 0 0 0;
	background: #FFF;
}
ul#vMenuList li:hover ul {
	width: 200px;
	display: block;
	position: absolute;
	left: auto;
	margin: -34px 0 0 198px;
}
/* end vertical menu system w/horizontal flyout */

The HTML

<ul id="vMenuList">
<li><a href="#vMenu">Menu Item 1</a></li>
<li class="hasFLyout"><a href="#vMenu">Menu Item 2</a>
	<ul>
		<li><a href="">Flyout Sub Menu</a></li>
		<li><a href="">Flyout Sub Menu</a></li>
		<li><a href="">Flyout Sub Menu</a></li>
		<li><a href="">Flyout Sub Menu</a></li>
	</ul>
</li>
<!-- flyout menu -->
<li class="hasFLyout"><a href="#vMenu">Menu Item 4</a>
	<ul>
		<li><a href="">Flyout Sub Menu</a></li>
		<li><a href="">Flyout Sub Menu</a></li>
		<li><a href="">Flyout Sub Menu</a></li>
		<li><a href="">Flyout Sub Menu</a></li>
	</ul>
</li>
<!-- flyout menu -->
<li><a href="#vMenu">Menu Item 4</a></li>
</ul>

Pownce this article! Digg This