代码之家  ›  专栏  ›  技术社区  ›  ᴘᴀɴᴀʏɪᴏᴛɪs

为什么我不能用color CSS属性给这个SVG上色

  •  -3
  • ᴘᴀɴᴀʏɪᴏᴛɪs  · 技术社区  · 5 年前

    我正在寻找一种方法来改变SVG图标的颜色(没有 fill 因为IE11)不支持它,我看到Github使用 color

    我从Github得到了这个SVG(基本上是星型按钮)。如果我在Github上使用开发工具检查它,然后设置一个颜色( color: red )在上面,我可以让它变色。

    但是,如果我在我的页面上复制它并尝试同样的操作,它将不起作用:

    .octicon-star {
      color:red;
    }
    <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"></path></svg>

    有什么想法吗?

    1 回复  |  直到 5 年前
        1
  •  6
  •   Maharkus zok    5 年前

    你在找 fill: CurrentColor . 它改变了 fill 根据的值 color . Here's 一篇关于CSS技巧的文章。

    编辑:这当然有用 填满 也是,但这是github使用的方法。

    .octicon-star {
      color: green;
    }
    
    svg {
      fill: currentColor;
    }
    <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"></path></svg>