Jupp.
Ersätt bildtaggen i länken med en omslutande div och några bakgrundsbilder i CSS för länktaggen...
Exempel:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<title>CSS Rollover-effekt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
#bildomslag { /* Denna är mest med för att "rollover"-bilden skall förladdas */
background-image: url(testbild2.gif);
width:100px; height:100px;
padding:0;
}
a#bild { /* grundbilden */
background-image: url(testbild.gif);
display:block; height:100%; width:100%;
text-decoration:none; /* bort med strecket under &nbsp; i länken*/
}
a#bild:hover { /* samma som i #bildomslag */
background-image: url(testbild2.gif)
}
-->
</style>
</head>
<body>
<div>
Här kommer en bild med rollover-effekt skapad av "ren" CSS (inga scripts!):
<div id="bildomslag"><a id="bild" href=".">&nbsp;</a></div>
Fiffigt va?
</div>
</body>
</html>
Varför skulle man vilja ha en sån här lösning? Det är t ex mycket segare än en javascript-lösning.
Det kanske stämmer att CSS-lösningen upplevs som aningen segare - men om man t.ex. kör med flera alternativa utseenden på sidan med hjälp av "alternate stylesheets" så tycker iallafall jag att en rolloverlösning via Javascript är betydligt knöligare att underhålla eftersom man då måste in och meka i både CSS- och Javascriptfiler när man ändrar något eller lägger till en alternativ stilmall till ;)
Därmed inte sagt att det ena skulle vara "rätt" eller det andra "fel" - det finns dessutom ännu fler sätt än dessa två att göra rollovers på. :e
Frågan var om det gick med enbart CSS - och det gör det! ;)
Sedan väljer man väl ändå alltid det som är "bäst" utifrån de förutsättningar och mål man har med just den sidan man håller på med, och inte baserat på vad omgivningen för tillfället anser är "bäst" eller "coolast" ?
PEACE! :birp
262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e