filter:blur会造成元素模糊
filter:contrast设置对比度,能实现元素更亮|淡
交融效果:
方式一:元素设置filter:blur模糊,元素父级设置contrast时,会实现模糊元素相交产生水滴交融且相交部分变清晰的效果
即:进行动画的图形的父元素需要是被设置了filter: contrast
方式二:元素本身设置filter:contrast,对伪元素设置filter:blur模糊,会使得元素和伪元素产生交融
效果图:
代码示例:
body {
/* background: #000; */
/* background: linear-gradient(90deg, hsl(199, 98%, 50%), hsl(199, 98%, 38%)); */
/* background-color: #ebecf0; */
background: #000;
filter: contrast(100);
overflow: hidden;
}
.ball {
position: absolute;
left: 0;
top: 40vh;
height: 20vh;
width: 20vh;
border-radius: 50%;
background: #fff;
animation: move 10s infinite;
z-index: 1;
filter: blur(15px);
}
.g-wall {
position: absolute;
left: 20%;
top: 30vh;
height: 40vh;
width: 15vh;
border-radius: 50%;
background: red;
filter: blur(15px) ;
}
@keyframes move {
20% {
transform: translate(20vw, 0);
background: #ddd;
}
100% {
transform: translate(100vw, 0);
background: #ddd;
}
}
<div class="ball"></div>
<div class="g-wall"></div>