Imagemap - Image map
In HTML und XHTML ist eine Imagemap eine Liste von Koordinaten, die sich auf ein bestimmtes Bild beziehen und erstellt werden, um Bereiche des Bildes mit verschiedenen Zielen zu verknüpfen (im Gegensatz zu einem normalen Bildlink, bei dem der gesamte Bereich des Bildes auf ein einziges Ziel). Beispielsweise kann auf einer Weltkarte jedes Land mit einem Hyperlink zu weiteren Informationen über dieses Land verknüpft sein. Die Absicht eines Image - Map ist eine einfache Möglichkeit der Verknüpfung verschiedene Teile eines Bildes zu schaffen , ohne das Bild in einzelne Bilddateien aufteilen.
Serverseitig
Serverseitige Imagemaps wurden erstmals in Mosaic (Webbrowser) Version 1.1 unterstützt. Serverseitige Imagemaps ermöglichen es dem Webbrowser , Positionsinformationen darüber, wo der Benutzer in einem Bild klickt, an den Server zu senden. Dadurch kann der Server pixelweise Entscheidungen darüber treffen, welcher Inhalt als Antwort zurückgegeben werden soll (mögliche Methoden sind die Verwendung von Bildmaskenebenen, Datenbankabfragen oder Konfigurationsdateien auf dem Server).
Der HTML- Code für diese Art von serverseitiger Imagemap erfordert, dass sich das <img>
Tag in einem Anker-Tag befindet <a>...</a>
und <img>
das ismap
Attribut enthalten muss.
<a href="/imagemapper"><img src="image.png" ismap /></a>
Wenn der Benutzer in das Bild klickt, hängt der Browser die X- und Y-Koordinaten (relativ zur oberen linken Ecke des Bildes) als Abfragezeichenfolge an die Anker- URL an und greift auf die resultierende URL zu (z. B. ).
/imagemapper?3,9
Wenn der Browser dies nicht unterstützt, darf ismap
die Abfragezeichenfolge nicht zur Anker- URL hinzugefügt werden und der Server sollte entsprechend reagieren (z. B. durch Zurückgeben einer Nur-Text-Navigationsseite).
Client-seitig
Clientseitige Imagemaps wurden in HTML 3.2 eingeführt und erfordern keine spezielle Logik, die auf dem Server ausgeführt werden muss (sie sind vollständig clientseitig). Sie benötigen auch kein JavaScript .
Reines HTML
Eine clientseitige Imagemap in HTML besteht aus zwei Teilen:
- das eigentliche Bild, das mit dem
<img>
Tag eingebettet ist . Das Image-Tag muss ein Attribut usemap haben, das die für dieses Bild zu verwendende Imagemap benennt (auf einer Seite können mehrere Imagemaps vorhanden sein). - Ein
<map>
Element und darin<area>
Elemente, von denen jedes einen einzelnen anklickbaren Bereich innerhalb der Imagemap definiert. Diese ähneln der<a> tag
Definition, welche URL für einen normalen Weblink geöffnet werden soll. Estitle
kann ein Attribut bereitgestellt werden, das als Tooltip gerendert werden kann, wenn ein Desktop-Benutzer seinen Mauszeiger über den Bereich bewegt. Aus Gründen der Barrierefreiheit im Web ist es oft wichtig – und in einigen Fällen kann es sogar eine gesetzliche oder vertragliche Anforderung sein –, einalt
Attribut bereitzustellen , das den Link beschreibt, den Screenreader- Software beispielsweise blinden Benutzern vorlesen kann .
Die <area>
Elemente können Rechtecke ( shape="rect"
), Vielecke ( shape="poly"
) oder Kreise ( shape="circle"
) sein. Shape-Values sind Koordinatenpaare. Jedes Paar hat einen X- und einen Y-Wert (von links/oben im Bild) und wird durch ein Komma getrennt.
- Rechteck: Legen Sie vier Koordinaten fest: "x1,y1,x2,y2"
- Polygon: Beliebig viele Koordinaten setzen (ein Vielfaches von zwei): "x1,y1,x2,y2, [...] xn,yn"
- Kreis: Ein Koordinatenpaar und ein anderer Wert mit einem Radius: "x1,y1,radius"
Das folgende Beispiel definiert einen rechteckigen Bereich ("9.372.66.397"). Wenn ein Benutzer irgendwo in diesem Bereich klickt, wird er auf die Homepage der englischen Wikipedia geleitet .
<img src="image.png" alt="Website map" usemap="#mapname" />
<map name="mapname">
<area shape="rect" coords="9,372,66,397" href="https://en.wikipedia.org/" alt="Wikipedia" title="Wikipedia" />
</map>
CSS
Ein modernerer Ansatz besteht darin, Links mithilfe von absoluter CSS- Positionierung in einem Bild zu überlagern . dies unterstützt jedoch nur rechteckige anklickbare Bereiche. Diese CSS-Technik kann geeignet sein, damit eine Imagemap auf iPhones ordnungsgemäß funktioniert , da reine HTML-Imagemaps möglicherweise nicht korrekt neu skaliert werden.
Erstellung und Nutzung
Es ist möglich, clientseitige Imagemaps von Hand mit einem Texteditor zu erstellen, aber dafür müssen Webdesigner wissen, wie man HTML codiert und wie man die Koordinaten der Bereiche aufzählt, die sie über dem Bild platzieren möchten. Daher sind die meisten von Hand codierten Imagemaps einfache Polygone.
Da das Erstellen von Imagemaps in einem Texteditor viel Zeit und Mühe erfordert, wurden viele Anwendungen so entwickelt, dass Webdesigner schnell und einfach Imagemaps erstellen können, ähnlich wie sie Formen in einem Vektorgrafikeditor erstellen würden . Beispiele für diese Anwendungen sind Adobes Dreamweaver oder KImageMapEditor (für KDE ) und das Imagemap-Plugin in GIMP .
Imagemaps , die ihre anklickbaren Bereiche nicht sichtbar machen , riskieren , den Benutzer einer mysteriösen Fleischnavigation auszusetzen . Selbst wenn sie es tun, ist es möglicherweise nicht offensichtlich, wohin sie führen. Dies kann teilweise mit Rollover-Effekten behoben werden.
SVG-Bilder
Da das Bildformat Scalable Vector Graphics (SVG) eigene Mechanismen zum Hinzufügen von Hyperlinks und anderen, komplexeren Formen der Interaktivität zu Bildern bereitstellt, sind herkömmliche Imagemap-Techniken im Allgemeinen nicht erforderlich, wenn mit Vektorbildern im SVG-Format gearbeitet wird.