have you tried disabling the superfish.js and let menu operate in css
only mode? not sure how anyone can help without a link Eelco wrote: Hi, I am using superfish in a Joomla template, and it works fine in all browsers including IE6 and IE8, not in IE7 however. I do not have any positioned elements, its just that it seems as if the containing li's, have overflow:hidden, which they don't have. I can see that it works in IE7 because I have applied small negative margins, so a small piece of the dropdown actually appears inside the containing <li>I would provide you with a link, however I prefer to do so privately if needed. My code: <div id="menu"> <ul class="menu sf-menu sf-js-enabled sf-shadow"> <li class="parent item10"> <a class="sf-with-ul" href=""> <span>Visie</span> <span class="sf-sub-indicator"> »</span> </a> <ul style="display: none; visibility: hidden;"> <li class="item19"> <a href=""> <span>Strategie</span> </a> </li> </ul> </li> </ul> </div> CSS: #menu ul { list-style-type: none; padding-left:15px; } #menu li { display:block; float:left; padding:2px 0; height:23px; } /* Opacity, exclude IE6 */ html>body #menu ul li { filter:alpha(opacity=70); opacity: 0.7; } /* Firefox children inherit transparency, IE children don't */ html>body #menu ul li li, x:-moz-any-link { filter:alpha(opacity=100); opacity: 1; } html>body #menu ul li#current li { filter:alpha(opacity=70); opacity: 0.7; } #menu li#current { filter:alpha(opacity=100); opacity:1; font-weight:bold; } #menu ul li ul { width:150px; } #menu ul li li { padding-left:10px; } /* This output is overriden for all except IE6 */ #menu ul li li { width:150px; } html>body #menu ul li li { width:inherit; } /* IE6 Hack */ #menu ul li { width:42px; } html>body #menu ul li { width:auto; } html>body .separator { margin-right:13px; } #menu ul li ul { padding: 0; margin-top: -10px; margin-left: -17px; } #menu a { text-decoration:none; color: white; font-size:10pt; } span.separator { display:block; margin-top:-2px; margin-left:18px; height: 27px; border-left:1px solid white; } Last but not least, Superfish CSS: (I have only disabled two padding styles) /*** ESSENTIAL STYLES ***/ .sf-menu, .sf-menu * { margin: 0; padding: 0; list-style: none; } /*.sf-menu { line-height: 1.0; }*/ .sf-menu ul { position: absolute; top: -999em; /*width: 10em; /* left offset of submenus need to match (see below) */ list-style: none; } .sf-menu ul li { width: 100%; list-style: none; } .sf-menu li:hover { visibility: inherit; /* fixes IE7 'sticky bug' */ } .sf-menu li { float: left; position: relative; height: 23px; } .sf-menu a { display: block; position: relative; } .sf-menu li:hover ul, .sf-menu li#parent:hover ul, .sf-menu li.sfHover ul { left: 0; top: 2.5em; /* match top ul list item height */ z-index: 99; } ul.sf-menu li:hover li ul, .sf-menu li#parent:hover 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: 1em; } .sf-menu a { /*border-left: 1px solid #fff;*/ /*border-top: 1px solid #CFDEFF;*/ height: 23px; xpadding: 0 1em; /* ET: DISABLED, IE6 DID NOT LINE OUT PROPERLY 14-12-2009 */ } .sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/ color: #13a; } .sf-menu li { /*background: #BDD2FF;*/ } .sf-menu li li { background: #2ea2da; filter: alpha(opacity=70); opacity: 0.7; } .sf-menu li li li { background: #9AAEDB; } .sf-menu li:hover, .sf-menu li.sfHover, .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active { /*background: #CFDEFF;*/ outline: 0; } /*** arrows **/ .sf-menu a.sf-with-ul { xpadding-right: 2.25em; /* ET: DISABLED, IE6 DID NOT LINE OUT PROPERLY 14-12-2009 */ 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; } |
- [jQuery] Superfish dropdown shows only inside containing li Eelco
- Re: [jQuery] Superfish dropdown shows only inside containing ... Charlie