On Github elaleph23 / svg_referat_santacroce
// Alejandro Santacroce // ZGK // LF Sinner // D3DE //
Was ist?
Grundlagen
Wie erstellen wir ein SVG?
Einbindung
Links
Animationen
Anwendungsbereiche
Motivierende Beispiele
Tools + Plugins + Librarie
Can I use?
Fazit
Quellen
S= Scalable
V= Vector
G= Graphics
kurze Geschichte: → erster Versuch mit SVG → 1988.→ offizielle Empfehlung von der W3C (World Wide Web Consortium) → 2001.SVG ist eine auf XML basierende Sprache
SVG Grafiken bestehen aus ASCII-Code
SVG ist für Maschinen + Menschen lesbar
SVG Grafiken können mit nur ein Texteditor erstellt werden
SVG Grafiken sind ohne Qualitätsverlust skalierbar
SVG unterstützt Stylesprachen (z.B. CSS)
SVG unterstützt Scriptsprachen (z.B. JavaScript)
SVG ist "Flexible"
SVG ist "Small"
SVG ist "Open"
SVG ist "Standard" (offizieller Standard des W3C)
extrem geeignet für Retina Display
mit Illustrator, Inkscape, oder einfach nur mit Code!
normales Icon als Vector (Path)
Farbe und Größe sind nicht relevant
jedes Element kann man als separates/unabhänginges Form speichern
so:
eine Zeichenfläche erstellen
als SVG speichern (Zeichenflächen verwenden)
SVG-Optionen wählen
in unserem Ordner speichern
und voilà!
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="400px" height="300px" viewBox="56 106 400 300" style="enable-background:new 56 106 400 300;" xml:space="preserve"> <g id="blumen_x5F_3"> <g> <g> <path d="M416,146v220H96V146H416 M456,106H56v300h400V106L456,106z"/> </g> <path d="M230.944,337.014c-25.542-4.337-44.988-26.426-44.988-53.041v-42.122l44.988,44.519V337.014z"/> <path d="M264.648,302.605v-46.039c45.2-8.428,46.881-57.158,33.13-82.368l-22.6,24.689l-19.487-24.688l-18.22,24.689 l-23.25-24.689c-13.376,24.519-12.38,73.882,33.129,82.367v81.234h24.517c29.92,0,54.175-24.098,54.175-53.828v-42.122 L264.648,302.605z"/> </g> </g> </svg>
Vergleich von 12x Größe
<img src="blume.svg" alt="Blume in Rahme">
<img style="background-image" ;="" src="blume.svg"> <div id="blumesvg"></div>
#blumesvg { width: 300px; height: 300px; background: url(../blume.svg); background-size: contain; }
<object data="blume.svg" type="image/svg+xml"> Fallback </object>Fallback
SVGs können via CSS gestyled werden
auch die einzelnen Elemente innerhalb eines SVG
Inline SVG
... <svg width="200" height="200"> <circle id="outer" cx="100" cy="100" r="100" fill="white"></circle> <circle id="inner" cx="100" cy="100" r="50" fill="black"></circle> </svg> ...
<svg width="200" height="200"> <defs> <filter id="f1" x="0" y="0"> <feGaussianBlur in="SourceGraphic" stdDeviation="5.5"> </feGaussianBlur></filter> </defs> ... </svg>
<svg width="200" height="200"> <circle cx="100" cy="100" r="100" fill="black"></circle> <a href="#/12"> <circle cx="100" cy="100" r="50" fill="gray"></circle> </a> </svg>
Link zum nächsten Slide genauerer titel BLACK genauerer titel GREY
z.B. bei "click" oder "hover"
<svg width="500" height="250"> <g transform="translate( 250,125)"> <rect x="-75" y="-75" width="150" height="150" fill="ivory"> <animateTransform repeatCount="indefinite" attributeName="transform" type="rotate" from="0" to="90" begin="0" dur="5s"> </animateTransform></rect> </g> </svg>
Wie können wir unser SVG verwenden?
Karten, Stadtpläne, Geokarten und Wetterkarten
Icons (Sprite: zusammen mit .PNG als Ersatz)
Responsive Logos/Icons
Animmierte Webseiten (ohne Flash/JavaScript)
Musik Player
interaktive Infografik/Diagramme
usw.
und für die Framework → Hakim El Hattab // hakim.se // http://slides.com