Avatar billede alex_sleiborg Nybegynder
14. september 2009 - 10:02 Der er 6 kommentarer og
1 løsning

CSS active menu

Hej.

Jeg har problemer med en css menu, jeg vil gerne have, at når et link i menuen er valgt, så bliver der vist et andet billede, på det valgte menupunkt. Det virker fint når jeg hover over billedet, men active gør ikke

HTML

            <div id="menucontainer">
                <ul id="menu">
                    <li>
                        <%= Html.ActionLink("Start", "Index", "Home")%></li>
                    <li>
                        <%= Html.ActionLink("Firmaprofil", "About", "Home")%></li>
                    <li>
                        <%= Html.ActionLink("Arbejdsområder", "WorkingArea", "Home")%></li>
                    <li>
                        <%= Html.ActionLink("Referencer", "References", "Home")%></li>
                    <li>
                        <%= Html.ActionLink("Samarbejdspartnere", "Partners", "Home")%></li>
                    <li>
                        <%= Html.ActionLink("Medarbejdere", "Employees", "Home")%></li>
                    <li>
                        <%= Html.ActionLink("Kontakt", "Contact", "Home")%></li>
                </ul>
            </div>

ul#menu {
    FONT-SIZE: 15px; COLOR: #000000; FONT-FAMILY: Arial; TEXT-DECORATION: none;
}
ul#menu li
{
    list-style-image: url('../../Images/menu-dot-blue.jpg'); 
}
ul#menu a:link {
    FONT-SIZE: 15px; COLOR: #000000; FONT-FAMILY: Arial; TEXT-DECORATION: none;
}
ul#menu a:visited
{
    FONT-SIZE: 15px; COLOR: #000000; FONT-FAMILY: Arial; TEXT-DECORATION: none;
}
ul#menu li:hover {
    list-style-image: url('../../Images/menu-dot-red.jpg');   
}
ul#menu li:active{
    list-style-image: url('../../Images/menu-dot-red.jpg');
}

Håber der er nogen der kan hjælpe
Avatar billede keysersoze Guru
14. september 2009 - 11:17 #1
medmindre du arbejder i (i)frames vil active desværre ikke have den store effekt - du er i stedet nødt til at sætte en anden klasse på dit link vha script (fx ASP).
Avatar billede alex_sleiborg Nybegynder
14. september 2009 - 11:21 #2
Hvad mener du, at jeg skal sætte en unik klasse/id pr. link?
Avatar billede keysersoze Guru
14. september 2009 - 11:40 #3
nej - at du bliver nødt til at kode dig ud af at sætte en korrekt klasse på det menupunkt der er aktivt. lidt pseudokode;

<%
xtraclass = ""
menupunkt = request.querystring("id")

If menupunkt = "1" Then
  xtraclass = " class=""activeclass"""
End If
%>

<a href="side.asp"<%=xtraclass%>>link</a>
Avatar billede alex_sleiborg Nybegynder
14. september 2009 - 14:09 #4
Okay, men så kan jeg da ligeså godt ændre min list-style-image i MenuService.cs, det er den der returnere den html liste??
Avatar billede keysersoze Guru
14. september 2009 - 14:17 #5
så længe du kan se hvilken side du er inde på og dermed hvilken du skal ændre i forhold til alle de øvrige kan du reelt gøre hvad du har lyst til.
Avatar billede alex_sleiborg Nybegynder
15. september 2009 - 10:58 #6
Jeg, har løst det ved at sætte style sådan her i stedet.

str += " style=\"list-style-image: url('../../Images/SubMenuIconSelected.gif');\"><a style=\"color: #4b893f;\"";

Selvom det ikke var den løsning jeg helst ville have. Men smid et svar keyserzone, og tak:)
Avatar billede keysersoze Guru
15. september 2009 - 17:17 #7
ok - det ligner ikke umiddelbart noget jeg ville gøre i .NET, men det kræver nok lidt mere kode for at kunne komme det nærmere ellers.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester