我试图创造一种具有粘性效果的单选按钮。 转换发生时效果看起来很好,但是一旦过渡结束,效果就会混乱(颜色混合不好,边缘发光)。
我一直试图弄清楚问题是什么,没有成功。
视频:https://vimeo.com/248225026
以下是代码:
$('.register-option').click(function() {
$('.register-option').removeClass('selected');
$(this).addClass('selected');
});

body {
background-color: rgb(158, 158, 158);
}
.register-choose {
-webkit-filter: url(#goo);
filter: url(#goo);
}
.register-choose .register-option {
position: relative;
width: 100px;
height: 40px;
border-radius: 120px;
display: inline-block;
color: #000;
font-family: Tahoma;
line-height: 40px;
font-size: 12px;
background-color: #fff;
text-align: center;
-webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
background-repeat: no-repeat;
}
.register-choose .register-option.selected {
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
.register-choose .register-option:first-of-type.selected {
background-color: rgb(0, 181, 255);
}
.register-choose .register-option:last-of-type.selected {
background-color: rgb(255, 118, 217);
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="register-choose">
<span class="register-option selected">Male</span>
<span class="register-option">Female</span>
</span>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="goo">
<feGaussianBlur in="SourceGraphic" stdDeviation="10" result="blur" />
<feColorMatrix in="blur" mode="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 16 -6" result="goo" />
<feComposite in="SourceGraphic" in2="goo" operator="atop" />
</filter>
</defs>
</svg>
&#13;
感谢。
答案 0 :(得分:1)
这是一个神奇的咒语,似乎解决了Firefox的视觉错误。我不知道它为什么会起作用,但它似乎是Firefox过滤器代码的正确部分。
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="goo" >
<feGaussianBlur in="SourceGraphic" stdDeviation="10" result="blur" />
<feColorMatrix in="blur" mode="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 16 -6"/>
<feComponentTransfer result="goo">
<feFuncA type="table" tableValues="0 .2 .4 .6 1 1"/>
</feComponentTransfer>
<<feComposite in="SourceGraphic" in2="goo" operator="atop" />
</filter>
</defs>
</svg>