Jag har först för några veckor sedan kunnat betrakta min hemsida med något annat än med IE. Tyvärr ser jag då att min rullgardinsmeny inte ser riktigt klok ut i Firefox! :( Tyvärr tar bakgrundsfärgen på menyn slut innan menyalternativet gör det, se nedanstående bilder. I IE ser det ut som jag vill.
Relevanta delar ur CSS-filen:
a:link.submenu { /*link - länk som ännu inte har besökts*/
color: #3366CC;
text-decoration:none;
}
a:visited.submenu { /*visited - länk som har besökts*/
color: #3366CC;
text-decoration:none;
}
a:hover.submenu { /*hover - mouseover*/
color: #DC143C;
text-decoration:none;
}
a:active.submenu { /*active - vid klick*/
color: #DC143C;
text-decoration:none;
}
#nav, #nav ul {
padding: 0;
margin: 0;
list-style: none;
}
.sub {
background-color: #FFCC00;
color: #336699;
}
#nav a {
display: block;
width: 6em;
}
#nav li {
float: left;
width: 6em;
}
#nav li ul {
position: absolute;
width: 6em;
left: -999em;
}
#nav li:hover ul {
left: auto;
}
#nav li:hover ul, #nav li.sfhover ul {
left: auto;
}
Hur löser man problemet?
IE använder inte ovanstående CSS, utan en JS-funktion i stället.
Relevant bit från källan, efter CSS-delens slut:
<script type="text/javascript">
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
</script></head>
<body>....<ul id="nav" class="medium">
<li><a class="menu " href="index.php">Point me!</a>
<ul class="sub">
<li><a class="submenu" href="index.php"> Home </a></li>
</ul>
</li>
....
<li><a class="menu" href="links.php">Links</a>
<ul class="sub">
<li><a class="submenu" href="links.php"> Links </a></li>
<li><a class="submenu" href="acknowl.php"> Acknowledgements </a></li>
</ul>
</li>
</ul>
Förresten hur kan Firefox veta att den ska strunta i JS-funktionen? Är det det som strular till det? :q
Första bilden visar IEs variant (rätt), andra Firefox' ...

