【发布时间】:2016-10-26 07:19:31
【问题描述】:
我有一些图像块,当我将块悬停时,它们的子图像应该被模糊并带有小的过渡效果。它在 Firefox 中运行良好,但在 WebKit 浏览器中,模糊图像的边缘周围出现了一个奇怪的阴影。
我在another question 中搜索并获得了解决方案,他们在那里使用-webkit-transform: translate3d(0, 0, 0); 对元素进行了回答以解决问题。但是当我应用translate3d(0, 0, 0) 时,阴影并没有隐藏,它像box-shadow inset 一样可见,直到鼠标离开。检查我的小提琴和下面的代码
.grid {
width: 40%;
float: left;
padding: 10px;
background-color: red;
figure {
margin: 0;
opacity: 1;
filter: alpha(opacity=100);
overflow: hidden;
-webkit-transition: all, 0.3s, linear;
-o-transition: all, 0.3s, linear;
transition: all, 0.3s, linear;
img {
max-width: 100%;
min-width: 100%;
-webkit-transition: all, 0.3s, linear;
-o-transition: all, 0.3s, linear;
transition: all, 0.3s, linear;
-webkit-filter: blur(0);
-moz-filter: blur(0);
filter: blur(0);
-webkit-transform: scale(1) translate3d(0, 0, 0);
-moz-transform: scale(1) translate3d(0, 0, 0);
-ms-transform: scale(1) translate3d(0, 0, 0);
-o-transform: scale(1) translate3d(0, 0, 0);
transform: scale(1) translate3d(0, 0, 0);
}
}
&:hover {
figure {
opacity: 0.55;
filter: alpha(opacity=55);
img {
-webkit-filter: blur(8px);
-moz-filter: blur(8px);
filter: blur(8px);
-webkit-transform: scale(1.06) translate3d(0, 0, 0);
-moz-transform: scale(1.06) translate3d(0, 0, 0);
-ms-transform: scale(1.06) translate3d(0, 0, 0);
-o-transform: scale(1.06) translate3d(0, 0, 0);
transform: scale(1.06) translate3d(0, 0, 0);
}
}
}
}
是否有任何解决方案可以消除 WebKit 浏览器中的投影效果。帮助将不胜感激。
【问题讨论】: