我有一些带图像的滑块。
如果我将鼠标放在某个幻灯片上,它只会显示图像,图像应该没有灰度效果。但是我希望转换延迟来改变这种效果。
如何指定悬停在li元素上的图像将使用转换延迟更改内部图像:
.grayscale
{
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 3.5+ */
filter: gray; /* IE6-9 */
-webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */
-webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */
-webkit-backface-visibility: hidden; /* Fix for transition flickering */
}
.grayscale:hover
{
filter: none;
-webkit-filter: grayscale(0%);
}
<li class="kwick grayscale"><!-- using it here will slow down slide effect -->
<a href="' . $article['url'] . '">
<div class="kw_shadow"></div>
<div class="kw_title">' . $article['title'] . '</div>
<div class="kw_img">
<img src="' . $article['imageSrc'] . '" alt="' . $article['title'] . '" style="width: 960px; height: 400px;" class="grayscale" /><!-- using it here will apply grayscale if I'm with my mouse fxp on the bottom on right side -->
</div>
</a>
</li>
感谢您的想法。
答案 0 :(得分:2)
确保将-webkit-transition-delay
放在最后。否则,它将无法工作。
这有效
.kwick a:hover img.grayscale{
-webkit-filter: grayscale(0%);
-webkit-transition: all .6s ease;
-webkit-transition-delay:2s;
}
这不是
.kwick a:hover img.grayscale{
-webkit-filter: grayscale(0%);
-webkit-transition-delay:2s;
-webkit-transition: all .6s ease;
}
答案 1 :(得分:0)
可能是-webkit-transition-delay属性对你有帮助,
试试这个:
.grayscale img {
transition-delay: 2s;
-webkit-transition-delay: 2s;
}