"Anders Thorsen Holm" <zoolook.removethis@daimi.au.dk> writes:
> Jeg spekulerede lidt over, hvorfor mon pseudo-klassen ":hover" og lign.
> overhovedet er en del af CSS - der er jo ikke helt tale om "inaktiv"
> præsentation, som ellers er hensigten med CSS.
Nu siger du godt nok "og lign.", men så vidt jeg lige kan overskue så
drejer det sig om præcist tre pseudo-klasser: ":hover", ":active" og
":focus", de såkaldte "user interface pseudo-classes".
Der kan siges både for og imod. Generelt handler pseudo-classes om
at en regel kun gælder hvis "et-eller-andet" er opfyldt af elementet.
Det kan være at det er et besøgt link, at en attrbut findes og at dens
værdi er noget bestemt. Det giver en slags mening at sige at en regel
kun gælder hvis man peger på elementet, og så er en pseudo-klasse
den rigtige måde at gøre det på.
På den anden side, så er alle andre CSS-selectors uafhængige af
display-mediet. En web-oplæser vil virke lige så godt med de andre
selectors, men man kan kun hoovere med et grafisk interface med en mus
(en pen virker ikke engang). På det punkt er de tre pseudoklasser
klart forskellige fra de andre måder at skrive selectors på. De
overlapper også med det man kan med Javascript, så det er ikke fordi
der ikke er et alternativ. Så, det kunne være en smutter.
Der er også smuttere i XHTML. F.eks. er <br> ikke et strukturelt tag,
det er layout (og står til at forsvinde i XHTML 2).
> Hvordan kan det så egentlig være, at der lige er smuttet :hover og
> lignende "adfærds-beskrivende" med i en standard, der dybest set kun
> skal beskæftige sig med præsentation? Er det fordi, det befinder sig på
> grænseområdet, og er nært knyttet til pointer-baseret navigation?
Mit gæt er at det var en smutter, fordi der ikke var et bedre sted at
placere det. Oprindeligt bestemte man farven på aktive links med en
attribut på body-tagget, sammen med farven på besøgte og ubesøgte links.
Da de to sidste blev oversat til CSS kom :active med, og hvis :active
var der, så gav det lige så meget mening at tilføje :hover også.
Personligt synes jeg det ville passe bedre uden, så kunne man istedet
opdatere classen på elementet med et script når man hooverede over
det. Mere arbejde, klart, men HTML+CSS er også nogle gange mere
arbejde end ren HTML.
/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:
http://www.brics.dk/~lrn/cv.html>