Hi all,
I am working on a webpage using joomla! and superfish menu system
i am trying to design a menu that uses images for its 1st level and plain text for sub-menus.
for that i have been tweaking the Superfish menu CSS file and got nice results in all browsers accept IE. in IE only the :over mode images are showing. regular images dont.
i dont knwo what to do and i have been pulling my hair at this for a few days.
the websites URL is : www.vaxilbio.com/index.php
my superfish css code is:
.....................................................
/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
padding: 0;
list-style: none;
/*background-image: url(../images/menu_bg.gif);
background-repeat: repeat-x;
background-position: bottom;*/
}
.sf-menu {
line-height: 1;
}
.sf-menu ul {
/*position: absolute;
top: -999em;
width: 10em; *//* left offset of submenus need to match (see below) */
} /*{Eliad: this whole class was canceles because i wrote individual classes for each sub menu in my section} */
.sf-menu ul li {
width: 100%;
}
.sf-menu li:hover {
visibility: inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
float: left;
position: relative;
}
.sf-menu a {
display: block;
position: relative;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
left: 0;
top: 2.75em;/*2.5em; match top ul list item height */
z-index: 98;
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
left: 10em; /* match ul width */
top: 0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
left: 10em; /* match ul width */
top: 0;
}
/*** DEMO SKIN ***/
.sf-menu {
float: left;
margin-bottom: 6px;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #6d6e71;
}
.sf-menu a, .sf-menu li ul a {
border-left: 0px solid #fff; /*ick - might wanna convert that 2nd statement to an independent class*/
border-top: 0px solid #fff;
padding: .75em 1em;
text-decoration:none;
}
.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
color: #000000;
font-weight: 900;
font-size: 13pt;
}
.sf-menu li {
/*background: #FFFFFF;*/
}
.sf-menu li li {
background: #3AA600;
text-align: left;
line-height: 1.7;
}
.sf-menu li li li {
background: #3AA600;
text-align: left;
}
.sf-menu li:hover, .sf-menu li.sfHover,
.sf-menu a:focus, .sf-menu a:hover {
background: #FFFFFF;
outline: 0;
}
/*** arrows **/
.sf-menu a.sf-with-ul {
padding-right: 2.25em;
min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
}
.sf-sub-indicator {
position: absolute;
display: block;
right: .75em;
top: 1.05em; /* IE6 only */
width: 10px;
height: 10px;
text-indent: -999em;
overflow: hidden;
background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
}
a > .sf-sub-indicator { /* give all except IE6 the correct values */
top: .8em;
background-position: 0 -100px; /* use translucent arrow for modern browsers*/
}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator {
background-position: -10px -100px; /* arrow hovers for modern browsers*/
}
/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
background-position: -10px 0; /* arrow hovers for modern browsers*/
}
/*** shadows for all but IE6 ***/
.sf-shadow ul {
background: url('../images/shadow.png') no-repeat bottom right;
padding: 0 8px 9px 0;
-moz-border-radius-bottomleft: 17px;
-moz-border-radius-topright: 17px;
-webkit-border-top-right-radius: 17px;
-webkit-border-bottom-left-radius: 17px;
}
.sf-shadow ul.sf-shadow-off {
background: transparent;
}
/*/////////////my tweaks/////////////////////////*/
.item1{
width: 64px;
}
/*.active.item1 > a:link, .active.item1 > a:visited,*/
.item1 > a:Link{
background-image: url(../images/menu_item1.png);
background-repeat: no-repeat;
background-position: left bottom;
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
padding-left: 1px;
text-indent:-9999px;
}
.item1 > a:visited {
background-image: url(http://www.vaxilbio.com/modules/mod_superfishmenu/tmpl/images/menu_item1.png);
background-repeat: no-repeat;
background-position: left bottom;
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
padding-left: 1px;
text-indent:-9999px;
}
.item1 > a:hover {
background-image: url(../images/menu_item1_over.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item1 ul {
position: absolute;
top: -999em;
width: 190px; /* left offset of submenus need to match (see below) */
}
.item1 ul li.last-child{
border-bottom-width: 32px;
border-bottom-style: solid;
border-bottom-color: #3aa600;
}
.item2{
width: 129px;
}
.item2 > a:link,
.item2 > a:visited {
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
text-indent:-9999px;
background-image: url(../images/menu_item2.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item2 > a:hover, .active.item2 > a:link, .active.item2 > a:visited {
background-image: url(../images/menu_item2_over.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item2 ul {
position: absolute;
top: -999em;
width: 200px; /* left offset of submenus need to match (see below) */
}
.item2 ul li.last-child{
border-bottom-width: 32px;
border-bottom-style: solid;
border-bottom-color: #3aa600;
}
.item3{
width: 110px;
}
.item3 > a:link,
.item3 > a:visited {
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
text-indent:-9999px;
background-image: url(../images/menu_item3.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item3 > a:hover, .active.item3 > a:link, .active.item3 > a:visited {
background-image: url(../images/menu_item3_over.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item3 ul {
position: absolute;
top: -999em;
width: 240px; /* left offset of submenus need to match (see below) */
}
.item3 ul li.last-child{
border-bottom-width: 32px;
border-bottom-style: solid;
border-bottom-color: #3aa600;
}
.item4{
width: 103px;
}
.item4 > a:link,
.item4 > a:visited {
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
text-indent:-9999px;
background-image: url(../images/menu_item4.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item4 > a:hover, .active.item4 > a:link, .active.item4 > a:visited {
background-image: url(../images/menu_item4_over.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item4 ul {
position: absolute;
top: -999em;
width: 240px; /* left offset of submenus need to match (see below) - this is submenu width!!!*/
}
.item4 ul li.last-child{
border-bottom-width: 32px;
border-bottom-style: solid;
border-bottom-color: #3aa600;
}
.item5{
width: 139px;
}
.item5 > a:link,
.item5 > a:visited {
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
text-indent:-9999px;
background-image: url(../images/menu_item5.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item5 > a:hover, .active.item5 > a:link, .active.item5 > a:visited {
background-image: url(../images/menu_item5_over.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item5 ul {
position: absolute;
top: -999em;
width: 240px; /* this is submenu width - left offset of submenus need to match (see below) - */
}
.item5 ul li.last-child{
border-bottom-width: 32px;
border-bottom-style: solid;
border-bottom-color: #3aa600;
}
.item6{
width: 178px;
}
.item6 > a:link,
.item6 > a:visited {
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
text-indent:-9999px;
background-image: url(../images/menu_item6.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item6 > a:hover, .active.item6 > a:link, .active.item6 > a:visited {
background-image: url(../images/menu_item6_over.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item6 ul {
position: absolute;
top: -999em;
width: 240px; /* this is submenu width - left offset of submenus need to match (see below) */
}
.item6 ul li.last-child{
border-bottom-width: 32px;
border-bottom-style: solid;
border-bottom-color: #3aa600;
}
.item7{
width: 109px;
}
.item7 > a:link,
.item7 > a:visited {
text-decoration:none;
padding-top: 0.75em;
padding-bottom: 0.75em;
padding-right: 3px;
text-indent:-9999px;
background-image: url(../images/menu_item7.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item7 > a:hover, .active.item7 > a:link, .active.item7 > a:visited {
background-image: url(../images/menu_item7_over.png);
background-repeat: no-repeat;
background-position: left bottom;
}
.item7 ul {
position: absolute;
top: -999em;
width: 240px; /* this is submenu width - left offset of submenus need to match (see below) */
}
.item7 ul li.last-child{
border-bottom-width: 32px;
border-bottom-style: solid;
border-bottom-color: #3aa600;
}
.sf-menu a:hover, .sf-menu a:active { /* visited pseudo selector so IE6 applies text colour*/
color: #3AA600;
font-weight: 900;
}
.sf-menu a:active {
color: #3AA600;
font-weight: 900;
}
.sf-menu li li a, .sf-menu li li a:visited {
color: #FFFFFF;
font-weight: normal;
font-size: 13px;
}
.sf-menu li li a:hover {
color: #3AA600;
font-weight: bold;
font-size: 13px;
}
..................................................................
note especially the classes marked "item#". these are the menu's main level items. i am trying to tweak "item1" for start and when that works i will apply the code to all the rest.
does anyone has any idea whats wrong and why only the :over images show in IE?
Hi, maybe you fixed this...
Hi, maybe you fixed this... it looks great in IE7 on my end... images show up fine. Can't speak for other versions.
I sympathize... Suckerfish and other nice canned dropdowns are extremely helpful and great, but doing any serious styling and/or customization on them is not necessarily trivial, especially if you're required to support "all" browsers.
ok in IE6
It looks ok in IE6 too. You must have fixed it?