CSSMenu that works in FF IE6 IE7 etc.
Posted: Fri Jun 01, 2007 1:40 am
This works for Horizontal and Vertical menus up to 4 levels deep. I have tested both the Horizontal and Vertical menus and they are fully functional on live sites, using FF IE6 and IE7.
How to:
Get the dhtml.js file from: http://solardreamstudios.com/learn/css/cssmenus
upload dhtml.js to uploads/file
Add this to the section of your page template
Using menumanager in the FileTemplates tab Import cssmenu.tpl into the database call it CSSMenu
On the Database Templates tab Edit CSSMenu
change the line
Put the tag {menu template='CSSMenu'} in your page template where you want the menu to show up.
Create a stylesheet using either the Horizontal or Vertical CSS code from below.
Edit the background-color and color codes to your liking
Attach the stylesheet you created to the page template you put the menu tag in.
Horizontal css code
Vertical css code:
Send a note of thanks to Craig Erskine athttp://solardreamstudios.com/
How to:
Get the dhtml.js file from: http://solardreamstudios.com/learn/css/cssmenus
upload dhtml.js to uploads/file
Add this to the section of your page template
Code: Select all
<!--[if lte IE 6]>
<__script__ type="text/javascript" src="uploads/file/dhtml.js"></__script>
<![endif]-->
On the Database Templates tab Edit CSSMenu
change the line
Put the tag {menu template='CSSMenu'} in your page template where you want the menu to show up.
Create a stylesheet using either the Horizontal or Vertical CSS code from below.
Edit the background-color and color codes to your liking
Attach the stylesheet you created to the page template you put the menu tag in.
Horizontal css code
Code: Select all
#menuwrapper {
background:#B70100;
border-bottom:6px solid #2D789E;
width:98%;
padding-left: 2%;
}
/* Root = Horizontal, Secondary = Vertical */
ul#navmenu {
margin: 0;
border: 0 none;
padding: 0;
/*width: 500px; For KHTML*/
list-style: none;
height: 28px;
}
ul#navmenu li {
margin-left:-1px;
border: 0 none;
padding: 0;
float: left; /*For Gecko*/
display: inline;
list-style: none;
position: relative;
height: 28px;
}
ul#navmenu ul {
margin: 0;
border: 0 none;
padding: 0;
width: 160px;
list-style: none;
display: none;
position: absolute;
top: 28px;
left: 0;
}
ul#navmenu ul:after /*From IE 7 lack of compliance*/{
clear: both;
display: block;
font: 1px/0px serif;
content: ".";
height: 0;
visibility: hidden;
}
ul#navmenu ul li {
width: 160px;
float: left; /*For IE 7 lack of compliance*/
display: block !important;
display: inline; /*For IE*/
}
/* Root Menu */
ul#navmenu a {
background:#c7c7c7;
border-right: 1px solid #B70100;
border-left: 1px solid #B70100;
padding: 5px 10px;
float: none !important; /*For Opera*/
float: left; /*For IE*/
display: block;
color: #009;
text-decoration: none;
height: auto !important;
height: 1%; /*For IE*/
}
/* Root Menu Hover Persistence */
ul#navmenu a:hover,
ul#navmenu li:hover a,
ul#navmenu li.iehover a {
background:#c7c7c7;
color: #000;
}
#navmenu li.menuactive a{
background:#c7c7c7;
color: #fff;
}
/* 2nd Menu */
ul#navmenu li:hover li a,
ul#navmenu li.iehover li a {
border:1px solid silver;
float: none;
background: #70C0FB;
color: #000;
}
/* 2nd Menu Hover Persistence */
ul#navmenu li:hover li a:hover,
ul#navmenu li:hover li:hover a,
ul#navmenu li.iehover li a:hover,
ul#navmenu li.iehover li.iehover a {
background: #CF1519;
color: #fff;
}
#navmenu li.menuactive li a.menuactive {
background: #CF1519;
color: #fff;
}
/* 3rd Menu */
ul#navmenu li:hover li:hover li a,
ul#navmenu li.iehover li.iehover li a {
background: #70C0FB;
color: #000;
}
#navmenu li.menuactive li.menuactive li a.menuactive {
background: #CF1519;
color: #fff;
}
/* 3rd Menu Hover Persistence */
ul#navmenu li:hover li:hover li a:hover,
ul#navmenu li:hover li:hover li:hover a,
ul#navmenu li.iehover li.iehover li a:hover,
ul#navmenu li.iehover li.iehover li.iehover a {
background: #CF1519;
color: #fff;
}
/* 4th Menu */
ul#navmenu li:hover li:hover li:hover li a,
ul#navmenu li.iehover li.iehover li.iehover li a {
background: #70C0FB;
color: #000;
}
#navmenu li.menuactive li.menuactive li.menuactive li a.menuactive {
background: #CF1519;
color: #fff;
}
/* 4th Menu Hover */
ul#navmenu li:hover li:hover li:hover li a:hover,
ul#navmenu li.iehover li.iehover li.iehover li a:hover {
background: #CF1519;
color: #fff;
}
ul#navmenu ul ul,
ul#navmenu ul ul ul {
display: none;
position: absolute;
top: 0;
left: 160px;
}
/* Do Not Move - Must Come Before display:block for Gecko */
ul#navmenu li:hover ul ul,
ul#navmenu li:hover ul ul ul,
ul#navmenu li.iehover ul ul,
ul#navmenu li.iehover ul ul ul {
display: none;
}
ul#navmenu li:hover ul,
ul#navmenu ul li:hover ul,
ul#navmenu ul ul li:hover ul,
ul#navmenu li.iehover ul,
ul#navmenu ul li.iehover ul,
ul#navmenu ul ul li.iehover ul {
display: block;
}
Code: Select all
#menuwrapper {
padding-left: 2%;
}
/* Root = Vertical, Secondary = Vertical */
ul#navmenu,
ul#navmenu li,
ul#navmenu ul {
margin: 0;
border: 0 none;
padding: 0;
width: 200px; /*For KHTML*/
list-style: none;
}
ul#navmenu:after /*From IE 7 lack of compliance*/{
clear: both;
display: block;
font: 1px/0px serif;
content: ".";
height: 0;
visibility: hidden;
}
ul#navmenu li {
float: left; /*For IE 7 lack of compliance*/
display: block !important; /*For GOOD browsers*/
display: inline; /*For IE*/
position: relative;
}
/* Root Menu */
ul#navmenu a {
border: 1px solid #fff;
border-right-color: #999;
border-bottom-color: #999;
padding: 0 6px;
display: block;
background: #EEE;
color: #000;
font: bold 12px/22px Verdana, Arial, Helvetica, sans-serif;
text-decoration: none;
height: auto !important;
height: 1%; /*For IE*/
}
#navmenu li.menuactive a{
background-color: #B23838;
color: #fff;
}
/* Root Menu Hover Persistence */
ul#navmenu a:hover,
ul#navmenu li:hover a,
ul#navmenu li.iehover a {
background: #CCC;
color: #B23838;
}
/* 2nd Menu */
ul#navmenu li:hover li a,
ul#navmenu li.iehover li a {
background: #EEE;
color: #000;
}
#navmenu li.menuactive li a.menuactive {
background: #CF1519;
color: #fff;
}
/* 2nd Menu Hover Persistence */
ul#navmenu li:hover li a:hover,
ul#navmenu li:hover li:hover a,
ul#navmenu li.iehover li a:hover,
ul#navmenu li.iehover li.iehover a {
background: #CCC;
color: #B23838;
}
/* 3rd Menu */
ul#navmenu li:hover li:hover li a,
ul#navmenu li.iehover li.iehover li a {
background: #EEE;
color: #000;
}
#navmenu li.menuactive li.menuactive li a.menuactive {
background: #CF1519;
color: #fff;
}
/* 3rd Menu Hover Persistence */
ul#navmenu li:hover li:hover li a:hover,
ul#navmenu li:hover li:hover li:hover a,
ul#navmenu li.iehover li.iehover li a:hover,
ul#navmenu li.iehover li.iehover li.iehover a {
background: #CCC;
color: #B23838;
}
/* 4th Menu */
ul#navmenu li:hover li:hover li:hover li a,
ul#navmenu li.iehover li.iehover li.iehover li a {
background: #EEE;
color: #000;
}
#navmenu li.menuactive li.menuactive li.menuactive li a.menuactive {
background: #CF1519;
color: #fff;
}
/* 4th Menu Hover */
ul#navmenu li:hover li:hover li:hover li a:hover,
ul#navmenu li.iehover li.iehover li.iehover li a:hover {
background: #CCC;
color: #B23838;
}
ul#navmenu ul,
ul#navmenu ul ul,
ul#navmenu ul ul ul {
display: none;
position: absolute;
top: 0;
left: 200px;
}
/* Do Not Move - Must Come Before display:block for Gecko */
ul#navmenu li:hover ul ul,
ul#navmenu li:hover ul ul ul,
ul#navmenu li.iehover ul ul,
ul#navmenu li.iehover ul ul ul {
display: none;
}
ul#navmenu li:hover ul,
ul#navmenu ul li:hover ul,
ul#navmenu ul ul li:hover ul,
ul#navmenu li.iehover ul,
ul#navmenu ul li.iehover ul,
ul#navmenu ul ul li.iehover ul {
display: block;
}