This is the code repository for Mastering SVG, published by Packt.
Ace web animations, visualizations, and vector graphics with HTML, CSS, and JavaScript
SVG is the most powerful image format in use on the web. In addition to producing resolution-independent images for today's multi-device world, SVG allows you to create animations and visualizations to add to your sites and applications. The simplicity of cross-platform markup, mixed with familiar modern web languages, such as CSS and JavaScript, creates a winning combination for designers and developers alike. In this book, you will learn how to author an SVG document using common SVG features, such as elements and attributes, and serve SVG on the web using simple configuration tips for common web servers. You will also use SVG elements and images in HTML documents. Further, you will use SVG images for a variety of common tasks, such as manipulating SVG elements, adding animations using CSS, mastering the basic JavaScript SVG (API) using Document Object Model (DOM) methods, and interfacing SVG with common libraries and frameworks, such as React, jQuery, and Angular. You will then build an understanding of the Snap.svg and SVG.js APIs, along with the basics of D3, and take a look at how to implement interesting visualizations using the library. By the end of the book, you will have mastered creating animations with SVG.
This book covers the following exciting features:
- Deliver the elements that make up an SVG image
- Replace your old CSS sprites with SVG
- Understand animation and data visualization with SVG are explained in pure JavaScript and using common libraries
- Use SVG to scale images across multiple devices easily
- Harness the power of CSS animations and transformations to manipulate your SVG images in a replicable, remixable way
If you feel this book is for you, get your copy today!
All of the code is organized into folders. For example, Chapter02.
The code will look like the following:
<svg xmlns="http://www.w3.org/2000/svg" width="350" height="150" viewBox="0 0 350 150" version="1.1">
<circle cx="100" cy="75" r="50" fill="rgba(255,0,0,.5)"/>
<circle cx="100" cy="75" r="50" fill="rgba(255,0,0,.5)"
transform="translate(10)" />
<circle cx="100" cy="75" r="50" fill="rgba(255,0,0,.5)"
transform="translate(75,0)" />
</svg>
Following is what you need for this book: This book is for web developers and designers looking to add animation to their projects. Some experience with HTML, CSS, and JavaScript is required.
With the following software and hardware list you can run all code files present in the book (Chapter 1-11).
Chapter | Software required | OS required |
---|---|---|
1 | Visual Studio Code (latest) Sublime Text (latest) or any other plain text editor | Windows, Mac OS X, and Linux (Any) |
1 | Google Chrome or Mozilla Firefox or Apple Safari or Microsoft Edge (latest) | Windows, Mac OS X, and Linux (Any) |
1 | Google Chrome or Mozilla Firefox or Apple Safari or Microsoft Edge (latest) | Windows, Mac OS X, and Linux (Any) |
11 | svgcleaner (latest) | Windows, Mac OS X, and Linux (Any) |
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.
Rob Larsen (@roblarsen) is an experienced frontend engineer, team lead, and manager. He is an active writer and speaker on web technology with a special focus on the continuing evolution of HTML, CSS, and JavaScript. He is a co-author of Professional jQuery, the author of Beginning HTML and CSS, and the author of The Uncertain Web. He's also an active member of the open source community as a maintainer of several popular projects.
Click here if you have any feedback or suggestions.