Click here to Skip to main content
15,878,945 members
Articles / Web Development / ASP.NET

AMenu - A Simple .NET Vertical Menu

Rate me:
Please Sign up or sign in to vote.
4.88/5 (26 votes)
8 Oct 2009CPOL4 min read 63.9K   3.1K   100  
A CSS based .NET vertical menu control.
/* Style sheet amenu.css. Defaults for 12px font. */

.amenu
{
  position:relative;
  height:10em; width:1px;
  margin:0; padding:0;
  font-size:12px;
  font-family:Arial;
  font-weight:normal;
  cursor:pointer;
}

.amenu ul
{
  width:190px;
  margin:0; padding:0;
  list-style:none;
  text-align:left;
  white-space:nowrap;
  background-color:#f7f7f7;
  border:none;
}

.amenu ul ul
{
  position:absolute;
  left:-5000px;
}

.amenu ul.top
{
  position:absolute;
  left:0; top:0;
}

.amenu li
{
  float:left;
  height:2em; width:100%;
  overflow:hidden;
  margin:0; padding:0;
  list-style:none;
}

.amenu li,
.amenu ul.top li,
.amenu ul.top ul.sub li,
.amenu ul.top ul.sub ul.sub li
{
  border:solid 1px #C6C6CC;
  border-top:none;
  border-bottom:none;
}

.amenu a 
{
  display:block;
  margin:0; padding:0;
  color:#336666;
  line-height:2em;
  text-decoration:none;
  cursor:pointer;
}

.amenu ul.top a
{
  margin: 0; padding: 0;
  margin-left:2px;
  margin-right:2px;
  padding-left:38px;
  width: 148px;  /* 190-42 */
}

.amenu ul.top ul.sub a,
.amenu ul.top ul.sub ul.sub a
{
  margin: 0; padding: 0;
  margin-left:2px;
  margin-right:2px;
  padding-left:16px;
  width: 170px;  /* 190-20 */
}

/* For icons */
.amenu li a
{  
  background-repeat:no-repeat;
  background-position:8px center;
  background-image:none;
}

/* Hover */

.amenu a:hover ul,
.amenu a:hover a:hover ul, 
.amenu a:hover a:hover a:hover ul
{
  left:100%;
}

.amenu a:hover ul ul, 
.amenu a:hover a:hover ul ul
{
  left:-5000px;
}

/* For non-IE6 browsers. Font 12px. */

.amenu ul li:hover > ul
{
  left:100%;
  margin-top:-27px;
  margin-left:-10px;
}
.amenu ul li > img
{
  top:-17px;
  left:-10px;
}

/* For IE6 browser. Font 12px.*/

.amenu table
{
  position:absolute; 
  left: 99%;
  height:0; width:0;
  margin-top:19px;
  margin-left:-20px;
  border-collapse:collapse;
  border:none;
}
.amenu table img
{
  top:-17px;
  left:0;
}
.amenu table td
{
	margin:0; padding:0;
}

/* For IE6 */

.amenu li a:hover 
{
  color:#0000ff;
  background-color:#dae0e4;
  visibility:visible;
}

/* For non-IE6 browsers */

.amenu li:hover > a
{
  color:#0000ff;
  background-color:#dae0e4;
  visibility:visible;
}

/* Top,bottom borders */

.amenu ul.top li.vpadding_top,
.amenu ul.top ul.sub li.vpadding_top,
.amenu ul.top ul.sub ul.sub li.vpadding_top,
.amenu ul.top li.vpadding_bottom,
.amenu ul.top ul.sub li.vpadding_bottom,
.amenu ul.top ul.sub ul.sub li.vpadding_bottom
{
  height:2px;
  line-height:0;
  border:solid 1px #C6C6CC;
}

.amenu ul.top li.vpadding_top,
.amenu ul.top ul.sub li.vpadding_top,
.amenu ul.top ul.sub ul.sub li.vpadding_top
{
  border-bottom:none;
}
.amenu ul.top li.vpadding_bottom,
.amenu ul.top ul.sub li.vpadding_bottom,
.amenu ul.top ul.sub ul.sub li.vpadding_bottom
{
  border-top:none;
}

/* Misc */

.amenu :focus
{
  outline:0;
}

.amenu .arrow
{
  float:right;
  height:10px; width:10px;
  position:relative;
  padding:0; margin:0;
  border:none;
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Europe Europe
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions