Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Mastering SVG
Mastering SVG

Mastering SVG: Ace web animations, visualizations, and vector graphics with HTML, CSS, and JavaScript

eBook
₹799.99 ₹2919.99
Paperback
₹3649.99
Subscription
Free Trial
Renews at ₹800p/m
:

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Mastering SVG

Getting Started with Authoring SVG

Now that you've dipped your toes in the water of SVG, it is time to take a deeper look at common SVG elements and their usage. This chapter will focus on the most common SVG elements and their usage, covering some that you've already learned about in more depth, and then introducing many other elements that you'll use in creating SVG images.

This chapter will cover the following topics:

  • Basic SVG shapes
  • The SVG positioning system
  • Gradients and patterns
  • Using SVG images generated from software programs, such as Adobe Illustrator, Inkscape, and Sketch

Positioning in SVG

As you saw in Chapter 1, Introducing Scalable Vector Graphics, SVG elements use a coordinate plane positioning system. Elements in an SVG document are located using x and y coordinates. This should be familiar to you from your geometry class or, more specifically to the web, if you're used to working with CSS, absolutely positioned elements. The following code shows two variations on the positioning scheme that you've already seen with both a circle element, which uses (cx, center x), and (cy, center y), attributes to place the circle element based on the center of the circle and the rect element, which will use the x and y attributes to place the upper left-hand corner of the square on the coordinate plane:

     <svg xmlns="http://www.w3.org/2000/svg" width="350" height="150"
viewBox="0 0...

Introducing paths

By far the most important element in the SVG specification is the path element. path allows you to draw lines and shapes using vectors defined by a series of commands passed in as values to the d attribute. Remember when I mentioned that one of the biggest roadblocks to SVG adoption was the lack of a friendly API? This path element is likely to be the biggest sore spot in the entire specification. The values you might see in a d attribute can be incredibly dense and difficult to read. How difficult to read? Feast your eyes on the S element from the SVG logo:

<path id="S" d="M 5.482,31.319 C2.163,28.001 0.109,23.419 0.109,18.358 C0.109,8.232 8.322,0.024 18.443,0.024 C28.569,0.024 36.782,8.232 36.782,18.358 L26.042,18.358 C26.042,14.164 22.638,10.765 18.443,10.765 C14.249,10.765 10.850,14.164 10.850,18.358 C10.850,20.453 11.701,22.351 13.070,23...

More on basic shapes

Now that you've learned about path, let's take a look at some more straightforward parts of the SVG universe and let's examine some more basic shapes. You've already learned about circle and rect. Let's take a look at a few more basic shapes.

The line element

The path element allows you to draw anything you can imagine using a long series of instructions. Thankfully, there are many convenient elements that define common shapes that are a lot easier to work with than the path element. The first of these that you'll learn about is the line element.

The following example draws a grid on a 500 by 500 square. The line elements in use here take five arguments: x1y1,...

More on fills and strokes

You've seen them in use in most of the examples, now let's take a little bit of a more complete look at fills and strokes. These presentation attributes are important to SVG, especially when working with them dynamically, as it's much easier to manipulate elements directly as compared to writing dynamic CSS.

fill and stroke are collectively referred to as paint properties. fill sets the inside color of the object and stroke sets the color of the line drawn around the object. As you've already seen, they can accept any valid CSS color value. They can also accept a reference to a paint server element (these are hatch, linearGradient, meshgradient, pattern, radialGradient, and solidcolor), which are elements that define a paint style for the element. You've already seen one of these (linearGradient) and will learn about the more...

Authoring programs

All of the examples so far in the book have been generated by hand. In practice, as you'll learn throughout this book, SVG is often generated by software. Most of this book will look at creating and manipulating SVG using web-based tools and libraries, but SVG images can also be generated by desktop drawing applications. While working on the web, you will often work with SVG images that have been created by designers in applications, such as Inkscape (https://inkscape.org/en/), Adobe Illustrator (https://www.adobe.com/products/illustrator.html), or Sketch (https://www.sketchapp.com/). These applications are wonderful because they allow non-technical designers to work with SVG to create images using advanced drawing tools.

While it's not a requirement for the rest of this book, I would suggest getting your hands on something you can use to author SVG...

Summary

In this chapter, you learned about multiple SVG features. You learned about path, which allows you to draw complex shapes using lines and curves. You also learned about a number of basic drawing tools that allow you to draw lines, ellipses, polygons, and polylines. In addition, you learned about a number of stroke and fill options.

Finally, you learned a little bit about the options for using software to draw static SVG and learned a little bit about the potential drawbacks of doing so.

In Chapter 3Digging Deeper with SVG Authoring, you'll continue to learn about SVG authoring, adding on to the growing list of tools you've experienced, and allowing you to create even more complex SVG images.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Master the art of custom animations and visualizations with SVG, CSS, and JavaScript
  • Combine SVG with third-party libraries and frameworks such as React, JQuery, D3, and Snap.svg for GUI-rich apps
  • Create an awesome user experience with high-performance graphics for your web applications

Description

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.

Who is this book for?

This book is for web developers and designers looking to add animation to their projects. Some experience with HTML, CSS, and JavaScript is required.

What you will learn

  • 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
  • Interface SVG with common libraries and frameworks, such as jQuery, React, and Angular

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Sep 21, 2018
Length: 312 pages
Edition : 1st
Language : English
ISBN-13 : 9781788621984
Languages :
Tools :
:

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Sep 21, 2018
Length: 312 pages
Edition : 1st
Language : English
ISBN-13 : 9781788621984
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
₹800 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
₹4500 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₹400 each
Feature tick icon Exclusive print discounts
₹5000 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₹400 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 11,619.97
Mastering SVG
₹3649.99
Real-Time 3D Graphics with WebGL 2
₹3649.99
Learn Three.js
₹4319.99
Total 11,619.97 Stars icon
Banner background image

Table of Contents

12 Chapters
Introducing Scalable Vector Graphics Chevron down icon Chevron up icon
Getting Started with Authoring SVG Chevron down icon Chevron up icon
Digging Deeper with SVG Authoring Chevron down icon Chevron up icon
Using SVG in HTML Chevron down icon Chevron up icon
Working with SVG and CSS Chevron down icon Chevron up icon
JavaScript and SVG Chevron down icon Chevron up icon
Common JavaScript Libraries and SVG Chevron down icon Chevron up icon
SVG Animation and Visualizations Chevron down icon Chevron up icon
Helper Libraries Snap.svg and SVG.js Chevron down icon Chevron up icon
Working with D3.js Chevron down icon Chevron up icon
Tools to Optimize Your SVG Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
(1 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 100%
adamn May 16, 2022
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
If you are a person who knows HTML, CSS and Javascript, say, a professional frontend developer, this book is extremely boring, because most of the time you read things that introduce nothing new. If you just want to learn about SVG, the density of actually helpful content on SVG is around two lines per page. Moreover, things are not well explained, oftentimes book just gives you a property, a couple of values for this property, sample code, and shows how it renders. But what are the other supported values for this property? How exactly does it work? Why there is “Z” in the code here? No details provided. And so, you not only learn very little but you are also left wondering about the details of what you just read about. Did I really buy this book so that I have to google for the details every other page? Certainly, with this book you won’t master anything.Here is a quote to reflect book’s attitude: “This is probably enough for you to get by using these properties”. Really? Well, if I was a high school student, maybe. But if you are a professional who likes to understand what he is doing, then “just having probably enough to get by using something” is seriously underwhelming.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.