theBoss2 Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Jeg vett at emne sier ikke stort men det er vanskelig å forklare det jeg menner. Jeg har laget en meny og fungere bra, menyen består av: Forside, Om meg, Linker, Kontakt Det jeg er utt etter er om hvordan man får det til at når jeg klikker på "Om meg" skal teksten være en annen farge (slik at brukeren vet på hvilken side man er). Håper dere forstår hva jeg menner. Først tenkte jeg å bruke cookies (php) men så tenkte dere kan (vet) en bedre måte. Fordi mange har cookies bllokert. Så hva tror dere er best? Lenke til kommentar
oblomsoe Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Du kan jo lagre ip'en elns i mysql hvis du har tilgang til det? Lenke til kommentar
Domodyret Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Det er en state du kan style i css, men husker ikke hva det er, ikke :focus, kanskje :active. Lenke til kommentar
Arve Systad Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 (endret) Det er en state du kan style i css, men husker ikke hva det er, ikke :focus, kanskje :active. Nei. CSS kan ikkje finne ut kva slags del av sida ein er på. Til dette må du bruke eit serverside-språk, og gi "den aktive delen av menyen" ein eigen klasse, som du igjen kan stilisere med CSS. Dersom du har eit skript som enten inkluderer filer med innhald eller hentar frå ein database burde det ikkje vere verre enn eit par linjer som finn ut kva slags seksjon du er på, og gir ein klasse til det aktuelle menyelementet. Endret 31. juli 2005 av Arve Systad Lenke til kommentar
Jakob K Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 (endret) Eller så kan du gi hvert menyalternativ og sidene hver sin ID. Lettere med et eksempel: index.html: <html> <body id="index_html"> <ul id="menu"> <li id="forsiden"><a href="index.html">Forsiden</a></li> <li id="om_meg"><a href="meg.html">Om meg</a></li> <li id="linker"><a href="linker.html">Linker</a></li> <li id="kontakt"><a href="kontakt.html">Kontakt</a></li> </ul> </body> </html> meg.html: <html> <body id="meg_html"> <ul id="menu"> <li id="forsiden"><a href="index.html">Forsiden</a></li> <li id="om_meg"><a href="meg.html">Om meg</a></li> <li id="linker"><a href="linker.html">Linker</a></li> <li id="kontakt"><a href="kontakt.html">Kontakt</a></li> </ul> </body> </html> CSS: body#index_html ul#menu li#forsiden a, body#meg_html ul#menu li#om_meg a, body#linker_html ul#menu li#linker a, body#kontakt_html ul#menu li#kontakt a { color: #000000; } Endret 31. juli 2005 av AfroDude Lenke til kommentar
Cucum(r) Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Gå for AfroDude sin metode. Lenke til kommentar
pgdx Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Gå for Arve Systad sin metode. Lenke til kommentar
Cucum(r) Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Gå for Arve Systad sin metode. Fordi at? Det er jo mykje meir ryddig å berre legge til ein klasse på BODY-elementet enn å begynne å legge klasser på LI-elementet? Lenke til kommentar
Jesper Karsrud Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Fordi da kan man bruke serverside-skripting, og dermed være hardcore på web Lenke til kommentar
Cucum(r) Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Fordi da kan man bruke serverside-skripting, og dermed være hardcore på web Begge metodane er jo åpen for bruk av serverside-scripting. Eg bruker omtrent samme metode som AfroDude beskriver på mi side. Lenke til kommentar
Arve Systad Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Forskjellen blir det her dersom serverside koding blir brukt i begge tilfella: På min metode vil du sette (eventuellt ein ekstra) ein klasse på <li> eller <a> elementet som er aktuelt å endre på, og har en forhåndsbestemt ting i stilarket som fikser det. På AfroDude sitt tilfelle må du ha en del meir i stilarket for ei stor side (mange undersider = mange selektorar på samme stilregel), og du byttar ut ein klasse/ID i body-elementet istede for li eller a. Så - bruk den du sjøl føler er best. Lenke til kommentar
Cucum(r) Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Grunnen til at eg ikkje liker metoden som du foreslår, Arve, er at det blir så mykje meir rotete enn AfroDude sin. AfroDude sin kan gjerast så enkelt som dette: <body class="<?=$_GET['seksjon']; ?>"> ...mens med din metode må du for kvar side sjekke kva $_GET['seksjon'] er, og det blir svært mykje rot, syns eg. Lenke til kommentar
Jakob K Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Det kommer vel ann på om du vil ha rotet i CSS- eller PHP-filen. Men er enig i at metoden jeg skrev er mindre rotete ja, selv om Arve sin utgjør noen KB mindre kode. Lenke til kommentar
Arve Systad Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Grunnen til at eg ikkje liker metoden som du foreslår, Arve, er at det blir så mykje meir rotete enn AfroDude sin. AfroDude sin kan gjerast så enkelt som dette: <body class="<?=$_GET['seksjon']; ?>"> ...mens med din metode må du for kvar side sjekke kva $_GET['seksjon'] er, og det blir svært mykje rot, syns eg. Joa, sant det - i dette tilfellet. Tenk deg ei stor kompleks side med la oss sei 40 undersider, som igjen kanskje har undersider. Der trur eg det hadde vert enklare å gi <li> eller <a> en egen klasse for å unngå et stilark der det er mange kilobyte med selektor Lenke til kommentar
Cucum(r) Skrevet 31. juli 2005 Del Skrevet 31. juli 2005 Grunnen til at eg ikkje liker metoden som du foreslår, Arve, er at det blir så mykje meir rotete enn AfroDude sin. AfroDude sin kan gjerast så enkelt som dette: <body class="<?=$_GET['seksjon']; ?>"> ...mens med din metode må du for kvar side sjekke kva $_GET['seksjon'] er, og det blir svært mykje rot, syns eg. Joa, sant det - i dette tilfellet. Tenk deg ei stor kompleks side med la oss sei 40 undersider, som igjen kanskje har undersider. Der trur eg det hadde vert enklare å gi <li> eller <a> en egen klasse for å unngå et stilark der det er mange kilobyte med selektor ...men da igjen blir index-fila fylt med rot. Tenk for deg å skrive if-testen til alle dei førti undersidene. Kor kjekt hadde vel ikkje det vore? Eg hadde heller foretrukke å skrive #start #products { color: #333 } førti ganger, framfor å skrive if($_GET['seksjon'] == 'start') { $class = 'active' } førti ganger. Lenke til kommentar
Arve Systad Skrevet 1. august 2005 Del Skrevet 1. august 2005 Sikker på at det ikkje går an å gjere det enklare? Finn seksjon du er på => Når den seksjonen blir skriven ut i menyen legg til klasse "omfg" på den. Elns. Ikkje sikker på akkurat korleis det må gjerast, men eg er nesten sikker på at det går. Lenke til kommentar
Steinmann Skrevet 1. august 2005 Del Skrevet 1. august 2005 Den beste måten er å lese menyen inn ifra en ekstern fil via php, og så skjekke mens man printer hver linje om det er den aktive linken. Er det det kan man ganske enkelt sette på 'class="active_link"' Gjort det mange ganger, og det kan også brukes med include rutinen så man bare inkluderer filer som ligger i listen, ero mer sikkert Lenke til kommentar
pgdx Skrevet 2. august 2005 Del Skrevet 2. august 2005 $categoryarray = array("nyheter", "om", "hjem", "lenker"); <div id="menu"> <ul> <?php foreach ($categoryarray as $line) { if ($do == $line) { print("\t\t\t" . '<li class="selected"><a href="'.$line.'">'.$line.'</a></li>'."\n"); } else { print("\t\t\t" . '<li class="unselected"><a href="'.$line.'">'.$line.'</a></li>'."\n"); } } ?> </ul> </div> Lenke til kommentar
Steinmann Skrevet 2. august 2005 Del Skrevet 2. august 2005 Ingen vits å ha med unselected da. Er den ikke selected, så er den unselected Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå