SVG

SVG kann über unterschiedliche Wege eingebunden werden:

Das einbetten als Objekt ging schon vor HTML5 und lief damals auch schon relativ zuverlässig, es können interne Links und JavaScript genutzt werden, ebenso ist ein Fallback Bild für sehr alte Browser im inneren des object-Tags möglich.

<object data="/media/HTML5-Logo.svg" type="image/svg+xml" width="280" height="280"><p>Ihr Browser unterstützt kein SVG als object-Tag</p><img src="/media/HTML5-Logo.png" alt="HTML5 Logo (PNG)" width="280" height="280" /></object>

Ihr Browser unterstützt keine Darstellung von SVG als object-Tag

HTML5 Logo (PNG)

Das einbetten als Image funktioniert wie bei anderen Bildformaten auch, vorteile des SVG Fortmates wie interne Links und JavaScript funktionieren allerdings nicht!

<img src="/media/HTML5-Logo.svg" alt="HTML5 Logo (SVG)" width="280" height="280" />
HTML5 Logo (SVG)

Ab HTML5 geht es auch durch direktes Einbinden der SVG-Source, es können interne Links und JavaScript genutzt werden, ein Nachladen der SVG Datei nicht mehr erforderlich!

Aus meiner Sicht macht das in Verbindung mit einem CMS nur dann Sinn, wenn die SVG-Source durch das System in den Code eingebettet wird, jedoch als separate Datei vorliegt, denn sonst wäre eine Bearbeitung der SVG-Source sehr kompliziert!

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="280" height="280">
  <title>HTML5 Logo</title>
  ...
  </svg>
HTML5 Logo

Natürlich besteht auch noch die Möglichkeit den Code für das Canvas Objekt umzuformen!

Die Beispiel-Datei (das HTML5 Logo) stammt von https://commons.wikimedia.org/wiki/File:HTML5_logo_and_wordmark.svg, sie unterliegt der Creative Commons Attribution 3.0 Unported license.

Im Webserver muss natürlich der Dateiendung „.svg“ der MIME-Type „image/svg+xml“ zugeordnet sein!