Link to customize the submenu.
I am having trouble adjusting the width of the main menu to 300px
and the sub-menus to 150px
. Currently, both have the same width and I can't seem to change it. Can someone assist me?
Below is the code I am currently using:
HTML
:
<div id='cssmenu'>
<ul>
<li class='active'><a href='index.html'><span>Home</span></a></li>
<li class='has-sub'><a href='#'><span>Products</span></a>
<ul>
<li class='has-sub'><a href='#'><span>Product 1</span></a>
<ul>
<li><a href='#'><span>Sub Item</span></a></li>
<li class='last'><a href='#'><span>Sub Item</span></a></li>
</ul>
</li>
<li class='has-sub'><a href='#'><span>Product 2</span></a>
<ul>
<li><a href='#'><span>Sub Item</span></a></li>
<li class='last'><a href='#'><span>Sub Item</span></a></li>
</ul>
</li>
</ul>
</li>
<li><a href='#'><span>About</span></a></li>
<li class='last'><a href='#'><span>Contact</span></a></li>
</ul>
</div>
CSS
:
/* Reset some stylesheet properties */
#cssmenu > ul {
list-style: none;
margin: 0;
padding: 0;
vertical-align: baseline;
line-height: 1;
}
/* Container settings */
#cssmenu > ul {
display: block;
position: relative;
width: 150px;
}
/* Styling for the list elements containing links */
#cssmenu > ul li {
display: block;
position: relative;
margin: 0;
padding: 0;
width: 150px;
}
/* General link styling */
#cssmenu > ul li a {
/* Layout */
display: block;
position: relative;
margin: 0;
border-top: 1px dotted #3a3a3a;
border-bottom: 1px dotted #1b1b1b;
padding: 11px 20px;
width: 110px;
/* Typography */
font-family: Helvetica, Arial, sans-serif;
color: #d8d8d8;
text-decoration: none;
text-transform: uppercase;
text-shadow: 0 1px 1px #000;
font-size: 13px;
font-weight: 300;
/* Background & effects */
background: #282828;
}
/* Rounded corners for first link in menus/submenus */
#cssmenu > ul li:first-child>a {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-top: 0;
}
/* Rounded corners for last link in menus/submenus */
#cssmenu > ul li:last-child>a {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom: 0;
}
/* Hover state for menu/submenu links */
#cssmenu > ul li>a:hover, #cssmenu > ul li:hover>a {
color: #3cc4e6;
text-shadow: 0 1px 0 #fff;
background: #e6e6e6;
background: -webkit-linear-gradient(bottom, #e6e6e6, #fff);
background: -ms-linear-gradient(bottom, #e6e6e6, #fff);
background: -moz-linear-gradient(bottom, #e6e6e6, #fff);
background: -o-linear-gradient(bottom, #e6e6e6, #fff);
border-color: transparent;
}
/* Arrow indicating a submenu */
#cssmenu > ul .has-sub>a::after {
content: '';
position: absolute;
top: 16px;
right: 10px;
width: 0px;
height: 0px;
/* Creating arrow using borders */
border: 4px solid transparent;
border-left: 4px solid #d8d8d8;
}
/* Same arrow with darker color for shadow effect */
#cssmenu > ul .has-sub>a::before {
content: '';
position: absolute;
top: 17px;
right: 10px;
width: 0px;
height: 0px;
/* Creating arrow using borders */
border: 4px solid transparent;
border-left: 4px solid #000;
}
/* Changing arrow color on hover */
#cssmenu > ul li>a:hover::after, #cssmenu > ul li:hover>a::after {
border-left: 4px solid #3cc4e6;
}
#cssmenu > ul li>a:hover::before, #cssmenu > ul li:hover>a::before {
border-left: 4px solid #fff;
}
/* STYLING FOR SUBMENUS */
#cssmenu > ul ul {
position: absolute;
left: 150px;
top: -9999px;
padding-left: 5px;
opacity: 0;
/* Fade effect via opacity transition */
-webkit-transition: opacity .3s ease-in;
-moz-transition: opacity .3s ease-in;
-o-transition: opacity .3s ease-in;
-ms-transition: opacity .3s ease-in;
}
/* Showing submenu on parent link hover */
#cssmenu > ul li:hover>ul {
top: 0px;
opacity: 1;
}