用CSS给SVG <use>的内容添加样式
SVG图形的一个最常见用例是图标系统,其中最常用的SVG sprite技术就是使用SVG<use>
元素在文档中任意位置“实例化”图标。使用<use>
元素实例化图标或任何其它的SVG元素或图像,给元素添加样式时经常会碰到一些问题。这篇文章的目的是尽可能给你介绍一些方法来解决:使用<use>
引入的内容添加样式受限的问题。但是在开始之前,我们先快速浏览一下SVG的主要结构和分组元素,然后慢慢进入use
的世界中,以及shadow DOM,然后重回CSS的怀抱。我们会逐步讲解为什么给<use>
内容添加样式会比较麻烦,以及有什么好的解决方案。