The document discusses HTML5 and SVG. It provides an overview of SVG, including that SVG describes 2D vector images, has full DOM support and scripting capabilities, and is an open standard supported by modern browsers. It also discusses how SVG and HTML5 can be used together, with examples of embedding SVG inline within HTML5, using SVG objects within HTML5, and combining SVG and HTML5 on the same page.
Report
Share
Report
Share
1 of 34
More Related Content
HTML5 and SVG
2. HTML5 and SVGNuno Rosa[Developer | Byclosure][nuno.rosa@byclosure.com][@yarcub]
14. Describes 2D vector imagesStaticAnimationXMLFull DOM supportScriptingOpen standard (W3C)Modern browsers support (no plugins)Fallback options availableIn a nutshell
15. Standalone<object data="myfile.svg" type="image/svg+xml" width="100" height="100"/><embedsrc="myfile.svg" width="100" height="100"/><iframesrc="myfile.svg" width="100" height="100"/><imagesrc="myfile.svg" width="100" height="100"/>No scripting{background-image: url('myfile.svg');}No scriptingSVG on web pages
16. Standalone (scripting)HTML DocumentSVG DocumentSVG on web pages<object id="svgContainer" data="myfile.svg" type="image/svg+xml" width="100" height="100"/>SVGDoc = document.getElementById("#svgContainer") .getSVGDocument();var element = SVGDoc.querySelector("#elementId");element.setAttribute("x", 100);<svgxmlns="http://www.w3.org/2000/svg"> <rect id="elementId" width="10" height="10"/></svg>
17. XHTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg"> <head></head> <body> <div id="container"><svg:svg width="100" height="100" > <svg:rect y="10" X="10" width="20" height="20"/> </svg:svg> </div> </body> </html>Inline
24. Group elements, treat them as one<g id="aGroup"fill="orange"><rect x="20" y="30" width="40" height="40"/><circle cx="100" cy="100" r="10" /></g>Group
25. Element property, transform="…"Rotation, revolves element around point transform="rotate(degrees, cx, cy)"Scale, multiply all (x,y) coordinates transform="scale(xfactor, yfactor)"Translation, add (x,y) positions transform="translate(dx, dy)"Transform
26. Elements declared inside definitions are not rendered. Ideal for reusing elementsGradientsText pathsClipping pathsRepeated elements<defs> <circle id="dot"cx="10" cy="10" r="5"></defs><use xlink:href="#dot" transform="translate(120,0)" /><use xlink:href="#dot" transform="translate(120,100)" />Reuse
30. BandwithSmall filesizeChanges can be done in browseravoiding server round-tripGzip encoded .svgzServer must send reponse headerContent-Enconding: gzip
31. An SVG Primer for Today's Browsershttp://www.w3.org/Graphics/SVG/IG/resources/svgprimer.htmlByclosuregithub account http://github.com/Byclosure/SVG101RaphaelJShttp://raphaeljs.com/jQuery SVGhttp://keith-wood.name/svg.htmlInkscapehttp://inkscape.org/Visual Studio SVG schema Intelisense pluginhttp://visualstudiogallery.msdn.microsoft.com/22479d6b-42d5-499f-b501-18e90e579540SVGWeb (cross-browser support)http://code.google.com/p/svgweb/References
32. Market is adopting SVGDifferent ways to place SVG on HTMLSVG basic conceptsTools & FrameworksRecap
For example, if an HTML implementation also supports SVG, then the Document object implements both HTMLDocument and SVGDocument.
Same file with “sprite sheet” containing multiple elements.Embed the same object in several web page locations but with different viewboxs.SHOW SVG FILE DEMO (change viewport)
SHOW DEMO: 01_primitives.htmlpoint-in-polygon: uma linha horizontal se cruzar um múmero de fronteiras impar(dentro) ou par(fora)
Mostrar exemplo do texto
SHOW REUSE EXAMPLE.In retrospective, recap code for TEXT EXAMPLE