SVG着色 - 为什么这不起作用?

时间:2016-10-05 18:50:57

标签: css svg

我试图用css为svg文件的一部分着色,但这似乎不起作用。 这是svgs'代码:

    node* Delete(node *root, int data)
    {
      if(root == NULL) return root;

      else if(data < root->data) root->left = Delete(root->left,data);

      else if (data > root->data) root->right = Delete(root->right,data);

      else
      {
       ///Case 1:  No child
      if(root->left == NULL && root->right == NULL)
      {
        delete root;
        root = NULL;
      }

      ///Case 2: One child
      else if(root->left == NULL)
      {
        struct node *temp = root;
        root= root->right;
        delete temp;
      }

      else if(root->right == NULL)
      {
        struct node *temp = root;
        root = root->left;
        delete temp;
      }

      ///case 3: 2 children
       else
       {
         node *temp = FindMin(root->right);
         root->data = temp->data;
         root->right = Delete(root->right,temp->data);
       }
     }
    return root;  
}

这就是css

<svg xmlns="http://www.w3.org/2000/svg" data-name="logo" viewBox="0 0 87.6 128.2"><title>  sw17_rebrand_logo</title><path class="logo_top" d="M15.6 86.9C-1.8 71-6.4 37.2 16 14.9S72-2.5 87.6 14.7Z"/><path class="logo_bottom" d="M72.3 41.2c20.2 19.2 19.5 53.7-1.5 73.2-22.5 21-55.4 16-70.9-1.1Z"/></svg>

html看起来像那样

.logo_top{
    fill:blue;
}

但这并不能做什么。我甚至都没有在Webdev Tools中看到特定的css代码。如果我将代码(style =&#34; fill:blue&#34;)直接放入svg中,这可行,但这不是我在这里需要的方式。

我做错了什么?

1 个答案:

答案 0 :(得分:-1)

由于这两条评论已经100%回答了这个问题 - 我只是将其总结以解决问题:

a)您可以将svg直接放入html而不是与<img>链接。那样在我的问题中用svg着色可以顺利进行。 b)通过附加代码

来稍微操纵你的svgs源代码
// Add to very start of SVG file before <svg>
<?xml-stylesheet type="text/css" href="style.css"?>

到文件。这样你仍然可以使用<img src="the.svg"...