我希望我的svg在其内部的按钮悬停时更改其填充。
<set attributeName="fill" to="#AEAEAE" begin="button.mouseover" end="button.mouseout"/>
我认为这样可行,但它保留了原来的#FF702A
有人可以为此提供帮助吗?
/////编辑//////
我重构它以使其更简单。除非我错过了一些主要的概念,否则这应该只用css来实现?
这是html -
<div id="button">show svg onhover
<svg id="play" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="42px" height="62px" viewBox="0 0 24 32" style="enable-background:new 0 0 24 32;" xml:space="preserve" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<g id="Layer_1">
</g>
<g id="play">
<polygon points="0,0 24,16 0,32 "/>
</g>
</svg>
</div>
这是相关的css
#button {
height: 75px;
width: 275px;
font-size: 25px;
text-align: center;
background: #FF702A;
border-radius: 10px;
padding-top: 40px;
margin-top: 70px;
margin-left: 150px;
opacity: 0.7;
letter-spacing: 1px;
font-variant: small-caps;
color: #EEEEEE;
}
#button:hover {
opacity: 1.0;
font-size: .01em;
}
#play{
position: absolute;
margin-left: -90px;
margin-top: -10px;
visibility: hidden;
}
#play:hover {
visibility: visible;
}
在悬停时隐藏文字是一个黑客,但为什么不能为svg工作?很抱歉与原始问题采取不同的方向,但希望这会让事情有所改善。期待用纯净的css完成..
答案 0 :(得分:0)
您也可以使用CSS执行此操作:
#button { fill: #FF702A; }
#button:hover { fill: #AEAEAE; }
如果你想要回答它为什么不起作用,你必须在问题中添加id =“button”元素(及其子元素,如果有的话)。