标签:javascript jquery css blur
我有这个CSS(crossbrowser):
#theimg {
filter: blur(0px);
animation: fadein 6s ease 0 1;
/* Safari and Chrome: */
-webkit-filter: blur(0px);
-webkit-animation: fadein 6s ease 0 1;
}
@keyframes fadein {
from {
-webkit-filter: blur(10px);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
-moz-opacity: 0;
opacity: 0;
}
to {
-webkit-filter: blur(0px);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
-moz-opacity: 1;
opacity: 1;
}
}
@-webkit-keyframes fadein { /* Safari and Chrome: */
from {
-webkit-filter: blur(10px);
-khtml-opacity: 0;
opacity: 0;
}
to {
-webkit-filter: blur(0px);
-khtml-opacity: 1;
opacity: 1;
}
}
它可以跨浏览器工作(除了模糊…).
但是,在谷歌浏览器中,图像会淡入,但不会同时消除模糊.
如果我排除淡入,它将会消除模糊.
我怎样才能解决这个问题?
解决方法:
你不需要jQuery.
设置这个CSS:
#theimg {
-webkit-filter: blur(0px);
-webkit-animation: fadein linear 3.5s;
}
@-webkit-keyframes fadein {
0% { -webkit-filter: blur(10px);}
28% { -webkit-filter: blur(10px);}
100% { -webkit-filter: blur(0px);}
}
它的工作原理(没有jQuery)
对不起,我错过了关于不透明度的观点.
问题是Chrome在处理过滤器和不透明度方面存在问题.你应该完全采用过滤方式,并使用过滤器的不透明度:
@-webkit-keyframes fadein {
0% { -webkit-filter: opacity(0%) blur(10px);}
50% { -webkit-filter: opacity(100%) blur(10px);}
100% { -webkit-filter: opacity(100%) blur(0px);}
}
标签:javascript,jquery,css,blur 来源: https://codeday.me/bug/20190831/1775958.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。