Image Maps habe ich nicht mehr verwendet, seit ich mich mit CSS gesteuerten Webseiten beschäftige – und das sind inzwischen ein paar Jährchen. Aber z.Z. arbeite ich an einem Auftrag, der so etwas erfordert und barrierefrei muss es auch sein. Also habe ich mich mal mit “Night of the Image Map” von Stuart Robertson beschäftigt. Die Idee dahinter ist, unsichtbare Links zu erzeugen, sie per position: absolute über einem Basisbild zu verteilen und ihnen für die Buttonfunktion im :hover-Status jeweils ein eigenes Hintergrundbild mitzugeben. Mit CSS haben wir eine perfekte Image Map, ohne CSS benutzbare Links.
Funktioniert eigentlich ganz gut, bis auf die 5er Internet Explorer. Hier bleibt das Hover-Bild leider stehen, wenn es einmal mit der Maus berührt wurde. Stuart Robertson zeigt dazu einen Workaround (:hover bekommt ein border:none). Bei mir hat es allerdings nicht geholfen.
Was mir auffiel: Die meisten meiner Buttons funktionieren auch im IE5 problemlos. Sie sind aber im Gegensatz zum Tutorial von Robertson nicht im Basisbild integriert. Ich habe wie bei einem Mouseover jeweils eine On- und Off-Ansicht, also auch im “a:link” ein Hintergrundbild definiert. Nur ein Button tanzt aus der Reihe, er hat nur den On-Status, also genauso wie in o.g. Vorbild. Das brachte mich auf eine alternative Lösung: Ich habe jenem Button ebenfalls ein Off-Bild spendiert – allerdings nur ein 1-Pixel-Transparent-Gif. Dieser eine Pixel genügt, um den Effekt im IE5 auszuschalten.
Heureka.

16. Februar 2009 um 10:08 Uhr
Außer mit IE 5 hatte ich keine Probleme mit der o.g. Vorgehensweise. Es sind meist die älteren IE-Versionen, die bei CSS Probleme machen. Du kannst Dir das Ergebnis ja mal anschauen: CSS-Imagemap.
12. Februar 2009 um 22:30 Uhr
Hey, mich würde mal interessieren, ob sich das Problem mit Internet Explorer mittlerweile gelöst hat? Ich plane etwas ganz ähnliches, aber frage mich, ob das in IE > 5 funktioniert…
14. November 2007 um 09:48 Uhr
Möchte eine Karte mit Bundesländern machen, die beim Überfahren einen erhabenen Effekt (Relief) erzeugen. Bisher hatte ich nur die Möglichkeit mit Javascript gefunden, aber jetzt werde ich es mal mit reinem CSS versuchen
29. Januar 2007 um 11:21 Uhr
Ja, das könnte man. Aber wie du schon schreibst, es passt meist nicht ins Layout. Ausserdem ist das Bild im Falle einer Imagemap eigentlich nur Beiwerk für die enthaltenen Links. Daher bevorzuge ich die Möglichkeit, ohne CSS eben nur die Links anzuzeigen.
28. Januar 2007 um 20:30 Uhr
Eine einfache Möglichkeit, die Imagemap zugänglicher zu gestalten, wäre eine zusätzliche Linkliste. Das funktioniert auch mit IE5 & Co. problemlos, nur manchmal passt es nicht so gut ins Layout.
17. Juni 2006 um 17:59 Uhr
Oh, sehr schön. Kannte ich so noch nicht. Danke, werde es mal Bookmarken, schöner Artikel.