Der findes en pseudo-egenskab, der hedder :hover
, som du kan bruge
til at givet linket en særlig udformning, når musen er over linket.
Det er noget, vi tidligere kun har kunnet gøre ved hjælp af JavaScript.
Nu kan du altså lave ganske tilsvarende uden JavaScript, alene ved
nogle stylesheet formregler.
Stylesheet'et til nedenstående udformning af menuen er:
ul.menu5 {
padding: 0 1px 1px 1px;
margin: 0;
background: gray;
width: 15em;}
ul.menu5 li {
list-style: none;
margin: 0;
border-top: 1px solid gray;
text-align: left;}
ul.menu5 li a {
display: block;
_width:12.75em;
padding: 0.25em 0.5em 0.25em 0.75em;
border-left: 1em solid #aab;
background: #ccd;
text-decoration: none;}
ul.menu5 li a:link {
color: #448;}
ul.menu5 li a:visited {
color: #667;}
ul.menu5 li a:hover {
border-color: #fe3;
color: #fff;
background: #332;}
Præsenteret på websiden ser denne menu således ud:
Her er det nødvendigt at lave et hack. For at Internet Explorer ikke
skal indsætte et ekstra linieskift på a-markøren, skal der oplyses en
eksplicit bredde på denne. Det er kun nødvendigt i forhold til
Internet Explorer, så derfor oplyser jeg width
på den måde, der er
markeret med rødt.
Så er det kun IE, der læser denne formregel. Det medfører desværre også, at stylesheet'et ikke kan validere ok i W3C's CSS-validator. Generer det dig, kan du udelade understregningen. Firefox, Opera, Netscape 7 og Mozilla browserne viser menuen korrekt alligevel.
Det interessante her er brugen af a-markørens pseudoklasser, der
medfører, at vi kan sætte f.eks. kulør på linket i dettes forskellige
tilstande, inklusive den ellers så flygtige
:hover
-tilstand.
Syntaksen for dette fremgår i stylesheet'et. Her skiftes såvel
baggrundsfarve som forgrundsfarve og ikke mindst farve på den ret brede
border
til venstre.
Bemærk, at jeg ikke bruger den fjerde tilstand, som kan tilgås via
a:active
. Internet Explorer tolker denne tilstand helt
forkert, og der er ingen grund til at forplumre vandene ved at
begynde at opfinde smarte effekter for denne tilstand. Overlad
det til læserens browser at bestemme, om denne tilstand skal markeres og
i så fald på hvilken måde.
Webdesign - illustreret håndbog
Webdesign med XHTML
– 2 gode bøger om webdesign
Køb dem hos forlaget Globe A/S