Verwenden Sie CSS3-Übergänge mit Verlaufshintergründen
P粉217629009
2023-08-23 21:25:42
<p>Ich versuche, CSS zu verwenden, um beim Mouseover einen Übergang auf einem Miniaturbild zu erstellen, sodass der Hintergrund beim Mouseover eingeblendet wird. Die Konvertierung funktioniert nicht, aber wenn ich sie einfach in <code>rgba()<!--code-->value ändere, funktioniert es einwandfrei. Unterstützt es keine Farbverläufe? Ich habe auch versucht, ein Bild zu verwenden, aber das Bild wird auch nicht konvertiert. </code></p><code>
<p>Ich weiß, dass das möglich ist, weil es jemand in einem anderen Beitrag getan hat, aber ich weiß nicht genau wie. Irgendeine Hilfe> Hier ist etwas CSS, das verwendet werden kann: </p>
<pre class="brush:css;toolbar:false;">#container div a {
-webkit-transition: Hintergrund 0,2 s linear;
-moz-transition: Hintergrund 0,2 s linear;
-o-Übergang: Hintergrund 0,2 s linear;
Übergang: Hintergrund 0,2s linear;
Position: absolut;
Breite: 200px;
Höhe: 150px;
Rand: 1px #000 einfarbig;
Rand: 30px;
Z-Index: 2
}
#container div a:hover {
Hintergrund: -webkit-gradient(radial, 100 75, 100, 100 75, 0, from(rgba(0, 0, 0, .7)), to(rgba(0, 0, 0, .4)))
}
</pre>
<p><br /></p></code>
一种解决方法是转换背景位置以产生渐变变化的效果: http://sapphion.com/2011/10/css3-渐变过渡与背景位置/
渐变尚不支持过渡(尽管当前规范表示它们应该支持通过插值实现类似渐变到类似渐变的过渡。)。
如果您想要具有背景渐变的淡入效果,则必须在容器元素上设置不透明度,并“过渡”不透明度。
(已经有一些浏览器版本支持渐变过渡(例如 IE10。我于 2016 年在 IE 中测试了渐变过渡,当时它们似乎可以工作,但我的测试代码不再工作。)
更新:2018 年 10 月 具有无前缀新语法的渐变过渡[例如Radial-gradient(...)] 现在确认可以(再次?)在 Microsoft Edge 17.17134 上运行。我不知道这个是什么时候添加的。仍然无法在最新的 Firefox 和 Chrome / Windows 10 上运行。
更新:2021 年 12 月 现在,在最近的基于 Chromium 的浏览器中可以使用 @property 解决方法(但在 Firefox 中不起作用)。请参阅(并投票)下面(或上面 YMMV)@mahozad 的回答。