In this lesson, you’ll learn how to create interactive and multi-colored SVG icons using only CSS. You’ll also see how the same familiar rules of inheritance and specificity apply when working with SVG. We’ll style icons on hover, change their size and style individual parts of an icon.
When implementing SVG icons with the use
tag, the browser renders the SVG inside something called the "shadow dom". Unfortunately, most browsers do not support accessing child elements of the shadow dom via CSS. In order to target elements inside a use
tag, such as a path
, you can target it at the global CSS level, like so:
path#rain {
/* styles */
}
Instead of:
.Icon--umbrella path#rain {
/* styles */
}