过渡结束后,Gooey效果搞砸了

问题描述 投票:1回答:1

我正在尝试创建一种具有粘性效果的单选按钮。转换发生时效果看起来很好,但是一旦过渡结束,效果就会混乱(颜色不能很好地融合,边缘会发光)。

我一直试图弄清楚问题是什么,没有成功。

视频: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>

谢谢。

jquery css css3 svg-filters
1个回答
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>
© www.soinside.com 2019 - 2024. All rights reserved.