Avatar billede random Nybegynder
25. januar 2009 - 20:19 Der er 19 kommentarer og
1 løsning

Menu med css

Jeg har følgende stående i en fil der hedder style.css

.menu {
    text-decoration: none;
}

a.menu:link, a.menu:visited, a.menu:active {
    color: #FFFFFF;
    text-decoration: none;
}

a.menu:hover {
    color: #fb7000;
    text-decoration: none;
}

..og den trækker jeg ud i
<head>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>

Hvorfor virker det ikke? Css på mine tekster i samme fil virker fint på siden?
Avatar billede keysersoze Ekspert
25. januar 2009 - 20:37 #1
lidt mere kode - hvordan ser dit link ud.
Avatar billede random Nybegynder
25. januar 2009 - 20:57 #2
Min menu ligger i en <!--#include file="menu.asp"-->

Og der i ligger jeg en <tr class="menu"><td>tekst</td></tr>
Avatar billede zips Juniormester
25. januar 2009 - 21:27 #3
I dette <tr class="menu"><td>tekst</td></tr> er der da ikke noget link som vil virke med den css du vise, indsæt <a href="dinsideduvillinketil.asp">tekst</a>
Avatar billede keysersoze Ekspert
25. januar 2009 - 21:35 #4
<a href="dinsideduvillinketil.asp" class="menu">tekst</a> mener du sikkert :)
Avatar billede zips Juniormester
25. januar 2009 - 22:06 #5
keysersoze >> ja nemlig, ellers vil det jo stadig ikke virke :-)
Avatar billede random Nybegynder
28. januar 2009 - 09:46 #6
ja der var da noget som begyndte at fungere. Men når jeg klikker på en menu som består af <td><a href="link.asp" class="menu">tekst</a></td> så bliver linket ikke markeret (fx med en anden farve) så man kan se at det er følgende side man er på. Kan det ikke gøres?
Avatar billede olebole Juniormester
28. januar 2009 - 09:52 #7
<ole>

Ikke med CSS alene. Det skal du skrive dig ud af på serveren, så linket til den aktuelle side altid er styled anderledes

/mvh
</bole>
Avatar billede random Nybegynder
28. januar 2009 - 10:08 #8
Olebole
Det forstår jeg ikke helt, kan du komme med et eksempel?
Avatar billede olebole Juniormester
28. januar 2009 - 10:33 #9
Nej, jeg kender jo ikke din kode
Avatar billede keysersoze Ekspert
28. januar 2009 - 17:57 #10
CSS aner intet om hvilken side der vises eller ikke vises - det er et levn fra frame-tiden der stadig lever i CSS.

Du bliver nødt til at lave 2 klasser - en til aktiv og en til inaktiv. Og så må du vha ASP styre hvilken klasse et givent menupunkt skal have - fx noget a la

If Request.Querystring("page") = "minside" Then
  MENUCLASS = "active"
Else
  MENUCLASS = "inactive"
End If

hvorefter du bruger MENUCLASS-variablen i dit link.
Avatar billede random Nybegynder
28. januar 2009 - 18:20 #11
Arh okay.

Jeg har denne nu:
<%
If Request.Querystring("page") = "145, 146" Then
  MENUCLASS = "active"
Else
  MENUCLASS = "inactive"
End If
%>

skriver det ud her:
RESPONSE.WRITE "<td width='150' background='pic/bg_menu.gif'><div align='center'><a href='kompetencer.asp?p_id=145' class='MENUCLASS'>KOMPETENCER</a></div></td>"

Men hvor får jeg active og inactive ind i billedet?
Avatar billede random Nybegynder
28. januar 2009 - 19:34 #12
altså jeg mener, hvordan kalder jeg fx klassen active via ASP
Avatar billede keysersoze Ekspert
28. januar 2009 - 19:53 #13
Response.Write "<td width=""150"" background=""pic/bg_menu.gif""><div align=""center""><a href=""kompetencer.asp?p_id=145"" class=""" & MENUCLASS & """>KOMPETENCER</a></div></td>"

noget helt andet er at du måske bør overveje lidt pænere html/css - jeg tvivler på at ovenstående kan gå igennem en validator.
Avatar billede random Nybegynder
28. januar 2009 - 20:31 #14
jeg har set det ind du har skrevet, men den finder ikke min css. Denne fungerer class='MENUCLASS' men ikke denne class=""" & MENUCLASS & """ ??

Forstår stadig ikke hvor den vælger active og inactive
Avatar billede keysersoze Ekspert
28. januar 2009 - 20:45 #15
active og inactive er eksempler - de navne du vælger skal selvfølgelig indgå i din CSS på samme måde som du har "menu" nu.
Avatar billede random Nybegynder
29. januar 2009 - 17:22 #16
Har fået sat det ind nu, men når der står fx:
<%
If Request.Querystring("page") = "145" Then
  MENUCLASS = "active"
Else
  MENUCLASS = "inactive"
End If
%>
Så gør den jo det samme ved alle menupunkterne?
Avatar billede random Nybegynder
29. januar 2009 - 17:33 #17
Nu har jeg bare kørt den slavisk på alle menuerne:
If Request.Querystring("P_ID") = "145" Then
Response.Write "<td width='150' background='pic/bg_menu.gif'><div align='center'><a href='kompetencer.asp?p_id=145' class='active'>KOMPETENCER</a></div></td>"
Else
Response.Write "<td width='150' background='pic/bg_menu.gif'><div align='center'><a href='kompetencer.asp?p_id=145' class='inactive'>KOMPETENCER</a></div></td>"
End If

Men er er ikke noget der er smartere?
Avatar billede keysersoze Ekspert
29. januar 2009 - 19:15 #18
joh - altså, du kan jo pakke if-sætningen ind i selve linket hvor klassen skal udskrives eller bruge det du selv skriver 29/01-2009 17:22:36 før hvert specifikke menupunkt.

if-sætning
menu
if-sætning
menu
if-sætning
menu
...
Avatar billede keysersoze Ekspert
09. april 2009 - 01:00 #19
lukketid?
Avatar billede random Nybegynder
09. april 2009 - 09:00 #20
tak for hjælpen
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