CSS Image Rollover – Final Words

In zwei Tutorials hatte ich bereits vorgestellt, wie sich Rollover, also Grafik-Links, die sich beim überfahren mit der Maus ändern, am besten per CSS gestalten lassen. Dieses Tutorial geht noch einen letzten Schritt weiter und fügt eine Kleinigkeit hinzu, die bisher fehlte: den Linktext.

In den vorherigen Tutorials und Beispielen hatte ich diesen weggelassen, damit die Hintergrundgrafiken, die einem Rollover-Link per CSS zugewiesen werden, nicht vom Linktext, also dem Text zwischen dem öffnenden und schließenden <a>, überlagert werden.

Unschön! Der entstehende Code hat keine semantische Aussagekraft, von derSuchmaschinenfreundlichkeit ganz zu schweigen. Außerdem zeigen ältere Browser bei Einsatz dieser Technik dann gar nichts an, der Link wird also unsichtbar für den Benutzer. Kurz gesagt: ein Link sollte immer einen Ankertext haben.

Hier also der Code verbesserte Rollover-Code:

Linktext 1
a.rollover {
	display: block;
	float: left;
	width: XYpx; /* Breite einer Rollover-Status-Grafik  */
	height: 0px !important;
	padding-top: XYpx; /* Höhe einer Rollover-Status-Grafik */
	overflow: hidden;
}
#rollover1 {
	background: url(rollover.png) no-repeat left 0px;
}
#meinRollover1:hover {
	background: url(rollover.png) no-repeat left -XYpx; /* Höhe einer Rollover-Status-Grafik (negativ) */
}
#rollover1:active {
	background: url(rollover.png) no-repeat left -XYpx; /* doppelte Höhe einer Rollover-Status-Grafik (negativ) */
}

Dabei verwende ich wieder eine Grafik, in der die drei Rollover-Stati übereinander in einer einzigen Datei abgespeichert sind, die dann jeweils nur in ihrer Position als Hintergrundgrafik der Links verschoben wird. Dies geschieht durch die Angabe des negativen Abstands in Pixeln zum oberen Rand der Grafik. Neu ist, dass der Linktext zwar da ist, durch die CSS-Anweisungen aber so weit nach unten verschoben wird, dass er nicht mehr über der Grafik liegt, sondern unsichtbar wird.

Wie das Ergebnis genau aussieht, zeigt dieses Beispiel.

Kompatibel mit folgenden Browsern:

  • Mozilla 1.7
  • Firefox 1+
  • Opera 9+
  • Safari (Windows) 3+
  • Internet Explorer 6+ (allerdings keine Anzeige des dritten Status :active)

3 thoughts on “CSS Image Rollover – Final Words

  1. Danke für Deine Beschreibungen! Alle 3 Tutorials sind wunderbar. Ich benutze das in WordPress.

    Nur wenn ich nach Tut.3 den “optionalen Text” im html-link eingebe, wird er von den Grafiken nicht (wie Du schreibst) überdeckt – so liegt also der Ascii-Text über den Grafiken statt umgekehrt, und selbst mit z-index Angaben kann ich´s nicht ändern.

    Mein zweites Problem an gleicher Stelle: zumindest bei mir gibt der Link-Text jetzt auch unweigerlich die Größe der Box an, in der meine RollOver Grafiken erscheinen – und weil der Text nur je ein ascii Pfeil ist, sind die Bildfenster also viel zu klein & die Grafik erscheint nur ausschnittsweise.

    Hab bisher noch keine Lösung dazu gefunden. Passiert das bei Dir nicht?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>