簡體   English   中英

使用CSS選擇器更改SVG填充的顏色/樣式

[英]Changing color/style of SVG fill with CSS Selectors

我在一些html中有這個SVG腳本:

<style type="text/css">
    .Circle {
        fill: #ff6666;
     }

     #bin {
        fill: #fff;
     }

     .Line {
        fill: #cccccc;
     }
</style>                                               
<g>
    <circle class="Circle" id="OuterCircle" cx="15.8" cy="15.2" r="15.2" />

    <path class="Path" id="bin" d="M9.6,7.6C9.2,7.8,9,8.3,9.1,8.6c0.1,0.3,0.4,0.5,0.5,0.5h12.5c0.4-0.2,0.6-0.6,0.5-1c-0.1-0.3-0.4-0.5-0.5-0.5h-9H9.6z" />
    <path class="Path" id="bin" d="M13.9,6.7c-0.5,0.3-0.8,0.7-1,1c0.3,0,0.6,0,1,0c0-0.2,0-0.3,0-0.5h3.8c0,0.2,0,0.3,0,0.5c0.3,0,0.7,0,1,0c-0.2-0.3-0.5-0.7-1-1C16.6,6,15.1,5.9,13.9,6.7z" />
    <path class="Path" id="bin" d="M9.6,9.6h12.5l-1,14.9c0,0-0.1,0.4-0.5,0.5c-0.2,0.1-0.4,0-0.5,0c-2.9,0-5.8,0-8.7,0c-0.1,0-0.3,0.1-0.5,0c-0.3-0.1-0.5-0.4-0.5-0.5C10.2,19.5,9.9,14.5,9.6,9.6z" />       

    <polygon class="Line" points="14.5,12 17.1,12 16.7,22.8 15,22.8 " />
    <path class="Line" d="M18,12v10.8h1.7c0.3-3.8,0.6-7.5,0.9-11.3C19.8,11.7,18.9,11.8,18,12z" />
    <path class="Line" d="M11,11.5c0.9,0.2,1.8,0.3,2.6,0.5v10.8h-1.7C11.9,22.8,11.9,22.8,11,11.5z" />   
</g>

我正在嘗試設置樣式,以便當您將鼠標懸停在類“ Path”上時,它會更改類“ OuterCircle”的樣式。 到目前為止,我嘗試過的CSS似乎無法正常工作。

到目前為止,我目前的懸停CSS是:

.Circle:hover {
    fill: #97D0FF;
}

g.Path:hover > #OuterCircle {
    fill: #97D0FF;
}                                                          

我嘗試使用其他同級組合器,但似乎沒有任何效果,並將circle屬性放置在path屬性下方會弄亂svg圖像。 我不太確定這如何與svg一起使用。

有沒有在CSS“前兄弟”選擇,所以你不能風格#OuterCircle.Path:hover

但是,您可以將一個類添加到父組,並在組懸停時設置樣式#OuterCircle

 .Circle { fill: #ff6666; } #bin { fill: #fff; } .Line { fill: #cccccc; } g.icon:hover #OuterCircle { fill: #97D0FF; } 
 <svg> <g class="icon"> <circle class="Circle" id="OuterCircle" cx="15.8" cy="15.2" r="15.2" /> <path class="Path" id="bin" d="M9.6,7.6C9.2,7.8,9,8.3,9.1,8.6c0.1,0.3,0.4,0.5,0.5,0.5h12.5c0.4-0.2,0.6-0.6,0.5-1c-0.1-0.3-0.4-0.5-0.5-0.5h-9H9.6z" /> <path class="Path" id="bin" d="M13.9,6.7c-0.5,0.3-0.8,0.7-1,1c0.3,0,0.6,0,1,0c0-0.2,0-0.3,0-0.5h3.8c0,0.2,0,0.3,0,0.5c0.3,0,0.7,0,1,0c-0.2-0.3-0.5-0.7-1-1C16.6,6,15.1,5.9,13.9,6.7z" /> <path class="Path" id="bin" d="M9.6,9.6h12.5l-1,14.9c0,0-0.1,0.4-0.5,0.5c-0.2,0.1-0.4,0-0.5,0c-2.9,0-5.8,0-8.7,0c-0.1,0-0.3,0.1-0.5,0c-0.3-0.1-0.5-0.4-0.5-0.5C10.2,19.5,9.9,14.5,9.6,9.6z" /> <polygon class="Line" points="14.5,12 17.1,12 16.7,22.8 15,22.8 " /> <path class="Line" d="M18,12v10.8h1.7c0.3-3.8,0.6-7.5,0.9-11.3C19.8,11.7,18.9,11.8,18,12z" /> <path class="Line" d="M11,11.5c0.9,0.2,1.8,0.3,2.6,0.5v10.8h-1.7C11.9,22.8,11.9,22.8,11,11.5z" /> </g> </svg> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM