13. august 2006 - 00:28Der er
27 kommentarer og 1 løsning
Farve aktive (aktuelle) link alene ved CSS?
Jeg kender godt a:active, men det dækker ikke mit behov:
Jeg har tre sider: 1.htm, 2.htm og 3.htm.
På hver side er der tre links:
Link til side 1 Link til side 2 Link til side 3
Det siger vist sig selv hvor de tre links peger hen :o)
Hvordan kan jeg få linket "Link til side 1" til at være rødt når man er på siden 1.htm, linket "Link til side 2" til at være rødt når man er på siden 2.htm, osv?
De to andre links skal blot være standardfarve for links.
Jeg troede at a:active skulle gøre det, men her kan man jo kun få farvet linket rødt i den periode hvor man holder musetasten nede.
Kan man CSS'e sig ud af det her, eller skal det programmeres fra bunden?
[ Kan man CSS'e sig ud af det her, eller skal det programmeres fra bunden? ] Nej, det kan du ikke.
- Fra bunden, css har ikke noget der style præcis det link du er under... ( http://www.w3schools.com/css/css_reference.asp#pseudoclasses ) ... Jeg benytter mig af at sætte en class på et link afhængig af hvilken side man er inde på. Man kan nok også sætte det ved at måle på sidens url og loope igennem a elementerne på siden og så få javascriptet til at skifte stylen på et link.
Jeg anbefaler at du laver det manuelt istedet for et javascript... :)
or.han du læser spørgsmålet forkert: [ Hvordan kan jeg få linket "Link til side 1" til at være rødt når man er på siden 1.htm, linket "Link til side 2" til at være rødt når man er på siden 2.htm, osv? ]
- Og der er det nemmeste at definere en id eller class på det link der skal have en anderledes farve og så lave css'en til id'et eller classen ligesom jeg nævnte i 13/08-2006 13:00:52... Men, hvis det havde været alle links - og ikke blot det ene link der pegede på den samme side som man stod på var forslaget ligepå.
Fx vil jeg opbygge en menu således: <ul id="menu"> <li id="side1"><a href="#">Link til side 1</a></li> <li id="side2"><a href="#">Link til side 2</a></li> <li id="side3"><a href="#">Link til side 3</a></li> <li id="side4"><a href="#">Link til side 4</a></li> </ul>
Så giver man body'en forskellige id'er på de enkelte side: <body id="t-side1">
I CSS'en gør man så således: body#t-side1 #side1 a, body#t-side2 #side2 a, body#t-side3 #side3 a, body#t-side4 #side4 a{ color:red; }
Jeg forstod det du skrev i 13/08-2006 22:47:38 og 13/08-2006 22:48:35 på den eneste måde de kunne forståes. Nu har du så uddybet det så du gør det manuelt med ekstra selectors på de forskellige href's som jeg nævnte, det gør så at du kan skifte farven på det aktuelle link via css afhængig af hvilket link der er det aktive på den pågældende side baseret på id defineret i body ...
Bemærk dog at du samtidig får noget jeg synes er kode overhead ... altså unødvendige id'er da #t-side1 #side2 aldrig ville være opfyldt så er det ikke nødvendigt med id'er på links til side 2-4 på side 1 ... jeg synes derfor at den simple måde med at definere et id på det link der skal have en anden farve er den nemmeste... ( 13/08-2006 23:34:36 ) ... så slipper du for de andre id'er på links der ikke skal påvirkes og id'en på body tagget.
Alternativet er Olebole's forslag i 14/08-2006 14:05:22. Den eneste ulempe ved det er at linket så ikke er klikbart da det er en span istedet for et link. Det vil så også kun være en ulempe hvis man har noget javascripting aktiveret og brugeren ville resette siden ved at klikke på linket igen - eller ønsker at hoppe til toppen af en lang side ved klik på linket.
[ Kan man CSS'e sig ud af det her, eller skal det programmeres fra bunden? ]
Men uanset hvilken del du vælger ( 13/08-2006 23:34:36 / 14/08-2006 14:05:22 / 14/08-2006 15:37:17) så ... Skal du have fat i markup'en og rette det til så du får forskellen lavet fra den ene side til den anden ... ellers er det javascriptet (13/08-2006 13:04:35) - og det er ikke optimalt.
Eneste årsag jeg kan se er ( 14/08-2006 17:24:03 ) eksempelvis et menu panel der altid er tilgængelig i venstre side - hvis man så har linket kan man klikke for at hoppe til toppen ... m.h.t. det andet med nulstilling af et javascripts påvirkning m.v. er der selvfølgelig også F5 tasten, man jo det kan også betegnes som overkill - men det er sjældent nødvendigt så den med span'en er også ganske effektiv / oftest brugt :)
overkill er bare et andet ord for overhead... Altså at man kan gøre en ting lettere... I Olebole's tilfælde slipper browseren for at lave et link ... overkill kan måske lyde voldsomt her - men det er ikke så slemt som det lyder igen... Jeg bruger selv den med linket og ikke den med span'en... Jeg kunne måske spare 20 tegn og en generering af et link... - så det er ikke slemt for mit vedkommende.
[ Og så naturligvis undgå at skulle ændre i menukoden for hver enkelt side, men bruge samme HTML-kode (med CSS) på alle sider. ] Uanset hvad du vælger så skal du rette markup'en ligesom jeg nævnte i 14/08-2006 17:33:31.
[ Så det vil da være fint med en løsning hvor linket til siden bliver inaktivt også. ] Det er som sagt at gøre som Olebole viser i 14/08-2006 14:05:22 - og så ramme span'en med f.eks. en css selector oppe fra menu div'en f.eks.:
css: #clink{color:#f00;background:#fff;} - og så css til de andre links også
... Men som sagt - du skal pille i din html for at lave det ... - Tror du fangede Olebole's indlæg forkert det han hentydede til var at når man i forvejen skal til at sætte en id eller en class kan man ligeså godt fjerne href og lave a'tagget om til et span samtidig.
"Overkill: Any effort that seems to go farther than would be necessary to achieve its goal."
"Overkill is a slang term for the use of excessive force that seems to go farther than just achieving its goal. For example, trying to kill a bee with a gun would be overkill."
I mit tilfælde gør jeg INGENTING for at løse noget jeg ikke ser som et problem, så jeg forsøger slet ikke at nå det mål.
Hvis det er noget, så må det da være UNDERkill! :o)
Men jeg siger naturligvis tak for jeres forslag på en løsning på noget jeg slet ikke spurgte om hjælp til, og noget der oven i købet reelt ikke er noget problem - i stedet for jeres løsning på det jeg rent faktisk spurgte om.
Hvis jeg fremover kan hjælpe jer til forståelse af engelske fremmedord, så siger I bare til :o)
[ Men jeg siger naturligvis tak for jeres forslag på en løsning på noget jeg slet ikke spurgte om hjælp til ] Rolig hobbez, en ting ad gangen - svaret på dit spørgsmål er i 13/08-2006 13:00:52 ... Og svaret er delen hvor der står: "Nej, det kan du ikke.".
Eksperten.dk er en flok it-nørder, it-interreserede og folk med enkelte it-problemer der alle hjælper hinanden til at komme videre. I tråde der oprettes kan deltagerne sommetider tage emner op til gennemløb med forslag som muligvis udspringer fra emnet.
I dette spørgsmål giver du ikke i selve spørgsmålet indtryk af om du ved hvordan du bedst skal snuppe rettelsen inde på selve siden - og derfor kunne det måske være relevant at have dette sammen med spørgsmålet.
Nu ved du så hvordan man gør det i selve mark'up en (fortæller du at du ved i 14/08-2006 23:18:39)... men der kommer måske en anden der løber ind i samme problem -> Det er så fint nok hvis der sammen med problemet lægger selve løsningen på problemet (du ved godt hvordan du vil gribe problemstillingen an med rettelse af markup'en, men begynderen der læser med i din tråd - eller læser den senere ved det ikke).
^ ... Derfor kom der lidt mere køb på det end blot et kort nej ... (man skal jo også arbejde lidt for pointene - selvom nej kunne have været nok) ...
Efter din kommentar om at du ved det i 14/08-2006 23:18:39... Kommer Olebole lige med en lille kommentar til mig om at det var overkill jeg lavede med at have et a'tag når man kunne nøjes med et span element. Dette er også af hensyn til tråden som helhed - eventuel for mig, or.han og dig ... hvis vi ikke vidste det ... men ligeså meget for dem der læser tråden senere.
- Så kommenterer jeg lidt op på Olebole's indlæg og du hopper i 15/08-2006 18:31:41 tilbage til hovedspørgsmålet...
[ ... Og så naturligvis undgå at skulle ændre i menukoden for hver enkelt side, men bruge samme HTML-kode (med CSS) på alle sider.
Så det vil da være fint med en løsning hvor linket til siden bliver inaktivt også. ... ]
Jeg uddyber så i 15/08-2006 18:47:42 af hensyn til både trådens forståelse og hvad Olebole foreslog og hvorfor det ville/kunne være bedre end det med linket og kommer samtidig med en forklaring på at du sikkert misforstod Olebole's indlæg.
I 16/08-2006 18:26:04 kommer du så med en forklaring på ordet Overkill som jo betyder at man i dette tilfælde foretager sig en ting som er unødvendig - og forsvarer samtidig med store bogstaver at [ I mit tilfælde gør jeg INGENTING for at løse noget jeg ikke ser som et problem, så jeg forsøger slet ikke at nå det mål. ] ... Men som sagt var Olebole's indlæg henvendt til mit eksempel med a elementet der burde / kunne have været et span element istedet... Han kunne selvfølgelig også have undladt ordet overkill, men han ville nok lige have mig til at indse at det andet som regel er smartere og mere anvendt (14/08-2006 17:24:03) - ordet overkill tager jeg ikke så hårdt, jeg ved godt den er lidt overkill med a tagget istedet for span tagget (som nævnt i 15/08-2006 18:47:42) ... men Olebole mener det jo ikke slår mig ikke - han giver mig bare en standard Olebole kommentar med et "lille" høfligt prik på skulderen og en lille løftet pegefinger :o) .
[ Men jeg siger naturligvis tak for jeres forslag på en løsning på noget jeg slet ikke spurgte om hjælp til, og noget der oven i købet reelt ikke er noget problem - i stedet for jeres løsning på det jeg rent faktisk spurgte om. ] Du fik svaret på den løsning du spurgte om, nemlig nej:
[ Kan man CSS'e sig ud af det her, eller skal det programmeres fra bunden? ] 13/08-2006 13:00:52 Nej, det kan du ikke.
- At vi hygge debatterer eventuelle andre ret så relevante ting i tråden bagefter er selvfølgelig en anden sag (selve koden der skal rettes på siden er relevant for andre der læser tråden), sådan er en del af os desværre bare - det er dog positivt i de flestes øjne ...
... Tag nu et eksempel at man læser en tutorial eller en bog om javascript, php, asp eller andet til lettere øvede - i denne bog / tutorial stod så kun selve kildekoden ... Man kontakter forfatteren og spørger: "Hvorfor er der ingen forklarende tekst i denne bog?" -> "Fordi der på bogen står til lettere øvede programmører, og vi ved jo ikke hvor meget øvet programmøren er så derfor må vi forudsætte at personen der læser bogen kan finde ud af tingene i forvejen." - Morale vi ved ikke, at du i forvejen ved hvordan du retter det før i 14/08-2006 23:18:39. Og derfor kommer vi lidt i dybden ligesom bøger og tutorials nogle gange gør for at forklare det så ikke erfarne kan følge med... Spørgsmålet lægger op til at du ikke ved alt om css og udfra selve spørgsmålet at vide om du ved hvordan du retter det fra bunden...
[ Hvis jeg fremover kan hjælpe jer til forståelse af engelske fremmedord, så siger I bare til :o) ] Ved ikke hvem "jer" er, men jeg fik for det meste 11 i engelsk så der er ikke så meget tvivl om engelsk hos mig. Og Olebole's kommentar var nok en hentydning til at du som sagt måske havde misfortået Olebole's kommentar om at mit indlæg var overkill - og at du derfor måske ikke kendte betydningen af overkill fordi du hopper op af stolen for at vende tilbage til problemet.... og det gør du egentlig stadigvæk i det sidste indlæg [ i stedet for jeres løsning på det jeg rent faktisk spurgte om. ] ... men der er som sagt et alternativ til markup rettelsen, og det har jeg lagt i 13/08-2006 13:04:35...
// Puha, fik ondt i hånden, tror jeg hopper videre...
[ men jeg fik for det meste 11 i engelsk ] Manglede lidt, 11 virkede som pral i sætningen - jeg trækker lige lidt i modsatte reb af moralske årsager. Dansk lå så på et 8 tal som regel. Jeg er 100% viking, så det er ikke fordi, at jeg blander sprog sammen, men engelsk virker bare lidt mere spændende til tider...
... Men når jeg ser på min elendige dansk karakter, er det selvfølgelig også muligt, at jeg ikke aflæser Olebole's bits på skærmen korrekt ?
Hvad OleBole mente: Et menu-link til den side, hvor man står, er overflødigt => 'overkill'.
- så enkelt er det såmænd =)
Synes godt om
Ny brugerNybegynder
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.