|
| 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 |
| | |
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/
| |
|
|