/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
a:active - manglende focus effekt?
Fra : Jahirah


Dato : 05-12-08 01:12

Hejsa...

Jeg er rent ind i en lidt drilsk situation jeg efterhånden har
prøvet på mange sjove måder at komme udenom. Problemer er
mærkeligt, og opfører sig i følge det jeg ved stik imod alle
regler... Måske jeg er galt på den men...

...pseudo - a:active, angivet som f.eks. her:

li.navbar a:link   {
   text-decoration:none;
   color:#ffffff;
}
li.navbar a:active   {
   text-decoration:none;
   color:#4e4e4e;
   background-color:#000000;
}
li.navbar a:hover   {
   text-decoration:none;
   color:#4e4e4e;
   background-color:#000000;
}
li.navbar a:visited   {
   text-decoration:none;
   color:#ffffff;   
}

...ville den opsætning ikke betyde at mit tilknyttede link modtog
en sort baggrund på ":hover", og BEHOLDT den mens den er værende
":active"?

Og kan nogen så svare mig på hvordan jeg ALTID magter at få lavet
ged i selv den mest simple, ukomplicerede kode? xD
Kode der ikke BURDE kunne fejle, gør det gerne her dagligt lol...

Anyways - input er velkommen :)

//Jahirah

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Philip Nunnegaard (05-12-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 05-12-08 07:30

"Jahirah" <jahirah@gmail.com> skrev

> ..ville den opsætning ikke betyde at mit tilknyttede link modtog
> en sort baggrund på ":hover", og BEHOLDT den mens den er værende
> ":active"?

Ja, der er jo helt ens, så det burde jo opføre sig som du forventer.

Jeg mener dog at have læst et sted, at rækkefølgen på link, active, hover og
visited ikke er helt ligegyldig.
Kører selv med link, visited og hover i nævnte rækkefølge.

Update:
Rækkefølgen ER ikke ligegyldig ifølge dette link:
http://books.google.dk/books?id=vNtIpRTKyFQC&pg=PA35&lpg=PA35&dq=r%C3%A6kkef%C3%B8lge+a:hover&source=web&ots=2qXEqQZMpE&sig=TV6bznJXUaFG0a_3IJhqUxCB4VA&hl=da&sa=X&oi=book_result&resnum=1&ct=result

Angivelsen skal ifølge den være i denne rækkefølge:
a
a:link
a:visited
a:focus
a:hover
a:active


Jørgen Farum Jensen (05-12-2008)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 05-12-08 12:38

Jahirah skrev:

> ..ville den opsætning ikke betyde at mit tilknyttede link modtog
> en sort baggrund på ":hover", og BEHOLDT den mens den er værende
> ":active"?
>
> Og kan nogen så svare mig på hvordan jeg ALTID magter at få lavet
> ged i selv den mest simple, ukomplicerede kode? xD
> Kode der ikke BURDE kunne fejle, gør det gerne her dagligt lol...

Igen ville det være rart med et link, for man kan jo
ikke gennemskue din hensigt med ovenstående. Hvornår tror
du for eksempel tilstanden a:active indtræder? Ønsker
du samme hover-effekt på besøgte og ubesøgte links?

Som Philip skriver er ordenen ikke ligegyldig. Det
er kaskade-effekten, der træder ind her - i ovenstående
eksempel har a:visited større vægt end a:hover. For at
undgå den slags problemer er det normalt at
bruge den orden, Philip beskriver.

Jeg undgår dog normalt at bruge a:active, eller
også sætte den til samme egenskaber som a:link.
IE fortolker nemlig denne tilstand forkert. Hvilket
sikkert er årsag til mange misforståelser. Man
tror at denne tilstand kan bruges til at "fryse"
en hover-tilstand på samme måde som :focus gør.

Eftersom IE ikke understøtter :focus kan ovenstående
med lidt omtanke bruges til at illudere :focus-tilstanden
i Internet Explorer.

Simpel, ukompliceret kode? Jo enklere det ser ud, des
sværere er det.

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Philip Nunnegaard (05-12-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 05-12-08 15:52

"Jørgen Farum Jensen" <jfjenzen@yahoo.dk> skrev

> Jeg undgår dog normalt at bruge a:active, eller
> også sætte den til samme egenskaber som a:link.
> IE fortolker nemlig denne tilstand forkert.

Selv holdt jeg op med a:active, da jeg gik væk fra frames.
På en ikke-framed side giver den ikke mening. Når man klikker på et link (og
det dermed er aktivt), forsvinder man jo væk fra den side man er på, og så
kan det hele være ligemeget.


John S. Thomsen (05-12-2008)
Kommentar
Fra : John S. Thomsen


Dato : 05-12-08 12:58

Jahirah wrote:
> li.navbar a:link   {
>    text-decoration:none;
>    color:#ffffff;
> }
> li.navbar a:active   {
>    text-decoration:none;
>    color:#4e4e4e;
>    background-color:#000000;
> }
> li.navbar a:hover   {
>    text-decoration:none;
>    color:#4e4e4e;
>    background-color:#000000;
> }
> li.navbar a:visited   {
>    text-decoration:none;
>    color:#ffffff;   
> }
>
> ..ville den opsætning ikke betyde at mit tilknyttede link modtog
> en sort baggrund på ":hover", og BEHOLDT den mens den er værende
> ":active"?

Citat fra http://www.w3.org/TR/CSS21/cascade.html

"if two declarations have the same weight, origin and specificity, the
latter specified wins."

Alle 4 "declarations" ovenover har samme "weight, origin and
specificity", så det er rækkefølgen, der bestemmer hvilken der vinder.

Da :visited står sidst, vil den altid vinde over :link, :active og
:hover, hvis et link først har været besøgt.

Bertel Lund Hansen (05-12-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 05-12-08 14:24

Jahirah skrev:

> Jeg er rent ind i en lidt drilsk situation

Flere andre har svaret udtømmende. Jeg supplerer:

Husk rækkefølgen således: LoVe HAte
Link, Visited, Hover, Active

Og sæt så den helt generelle opsætning før de fire hvis du har
sådan en. Jeg har f.eks. følgende til Fiduso:

/* Links */
a { text-decoration: underline; }
a:hover { text-decoration: none; }

a.lokal:link, a.lokal:visited, .sitemapramme a:link, .sitemapramme a:visited { color: #a30; background: inherit; }
a.lokal:hover, .sitemapramme a:hover { color: #ffffdc; background: #a30; }

a.ekstern:link, .medlemmer a:link { color: #f00; background: inherit; }
a.ekstern:visited, .medlemmer a:visited { color: #24c; background: inherit; }
a.ekstern:hover, .medlemmer a:hover { color: #ffe; background: #c00; }

a.intern:link, a.intern:visited { color: #060; background: inherit; }
a.intern:hover { color: #ffe; background: #060; }

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

Jahirah (05-12-2008)
Kommentar
Fra : Jahirah


Dato : 05-12-08 15:27

Tusind mange tak for alle jeres indput. Jeg vil helt klart huske det
med rækkefølgen fremover, det er jeg ret sikker på.

Til det Jørgen kommenterede med at forsøge at holde :active det
samme som :link for at tilgodese IE, ville jeg gerne høre om der er
en workaround til at kunne bruge en forskellig baggrund på :active
fremfor :link. Baggrunden er hele rummellen pt :/

Jeg ved i alle foretrækker links, men spørgsmålet var teoretisk og
var mere et spørgsmål vedr. kode der tilsyneladende ikke opførste
sig som det burde (hvilket jeg forstår hvorfor nu)...

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bertel Lund Hansen (05-12-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 05-12-08 18:36

Jahirah skrev:

> Til det Jørgen kommenterede med at forsøge at holde :active det
> samme som :link for at tilgodese IE, ville jeg gerne høre om der er
> en workaround til at kunne bruge en forskellig baggrund på :active
> fremfor :link. Baggrunden er hele rummellen pt :/

Jeg har 'vedtaget' at active ikke kan bruges til en skid. Ved den
måde jeg bruger links på (helt normalt) kan man slet ikke se hvad
der sker.

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

David Konrad (05-12-2008)
Kommentar
Fra : David Konrad


Dato : 05-12-08 18:42

Bertel Lund Hansen wrote:
> Jahirah skrev:
>
>> Til det Jørgen kommenterede med at forsøge at holde :active det
>> samme som :link for at tilgodese IE, ville jeg gerne høre om der er
>> en workaround til at kunne bruge en forskellig baggrund på :active
>> fremfor :link. Baggrunden er hele rummellen pt :/
>
> Jeg har 'vedtaget' at active ikke kan bruges til en skid. Ved den
> måde jeg bruger links på (helt normalt) kan man slet ikke se hvad
> der sker.

Enig (igen igen). Implementationen af :active virker for tilfældig og for
forskellig i de forskellige browsere - jeg antager at det er en reminiscens
fra frame-dagene, dvs hvilket frame er nu aktivt osv. Men man bør alligevel
sikre sig imod uhensigtsmæssig renderering ved at erklære active alligevel,
f.eks

a.left_menu {
font-family: 'tahoma', 'helvetica';
color: #666666;
text-align: left;
clear: both;
display: inline;
float: left;
}
a.left_menu:visited {
text-decoration: none;
color: #666666;
}

/* HER EN GENTAGELSE AF A:, SÅ ACTIVE IKKE FUCKER OP */
a.left_menu:active {
font-family: 'tahoma', 'helvetica';
color: #666666;
text-align: left;
clear: both;
display: inline;
float: left;
}
a.left_menu:hover {
text-decoration: none;
color: #000000;
}
a.left_menu_selected {
color: red;
}



Bertel Lund Hansen (05-12-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 05-12-08 19:16

David Konrad skrev:

> sikre sig imod uhensigtsmæssig renderering ved at erklære active alligevel,
> f.eks

Hvis du alligevel ikke overholder den anbefalede rækkefølge, kan
du så ikke lige så godt skrive:

   a.left_menu, a.left_menu:active {
   ...

så samme erklæring kun skal stå ét sted.

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste