Book Image

Mastering SVG

By : Rob Larsen
Book Image

Mastering SVG

By: Rob Larsen

Overview of this book

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.
Table of Contents (17 chapters)
Title Page

Serving SVG on the web

One final note about SVG before we move into more details in the following chapters about the way that SVG interacts with the wider universe of web technology: if you're going to serve SVG on the web, you need to ensure that it's served with the correct content type. Browsers expect SVG to be served with the "image/svg+xml" media type. If you run into problems with SVG images not displaying and you can verify that they exist on the server, it's a good bet to check the headers (using the Network tab of your browser debugger of choice) to see if they're being served correctly. If they're not (for example, if they're text/xml), then you need to set the media type properly. This section outlines how to set the proper media type in common web servers.


Adding the correct media type in Apache is as simple as adding the following line to your .htaccess file:

AddType image/svg+xml svg svgz


Adding the correct media type in nginx requires you to have the following entry...