CSS-Animationen werden nicht ausgeblendet
P粉352408038
2023-08-18 16:45:01
<p>Ich versuche ein einfaches Animationsproblem zu lösen, bei dem ein Hintergrundbild beim Schweben ein- und ausgeblendet wird. Obwohl ich den Keyframe definiert habe, meldet der Webbrowser, dass er nicht definiert ist: </p>
<pre class="brush:php;toolbar:false;">.elementor-section.elementor-element.core-range
> .elementor-container:hover
.product-image::before {
Animation: coreRangeBackground 0,3 s Easy-in-out 0,3 s;
Animationsfüllmodus: vorwärts;
}
@keyframes coreRangeBackground {
100 % {Hintergrundbild: url("./images/core-range-bg.svg");
}
.elementor-section.elementor-element.phases-of-the-moon
> .elementor-container:hover
.product-image::before {
Animationsname: PhasesMoonBackground;
Animationsdauer: 0,3s;
Animation-Timing-Funktion: Easy-in-out;
Animationsverzögerung: 0,3 s;
Animationsfüllmodus: vorwärts;
}
@keyframes phasesMoonBackground {
100 % {Hintergrundbild: url("./images/phases-of-the-moon-bg.svg");
}</pre>
<p><strong>Bearbeiten: Hintergrundbild kann nicht animiert werden, verwenden Sie stattdessen Deckkraft</strong></p>
<p>Das Bild wird mit einem Farbverlauf eingeblendet, aber wenn Sie den Mauszeiger abbrechen, wird sofort kein Bild angezeigt, anstatt ausgeblendet zu werden. </p>
<pre class="brush:php;toolbar:false;">.elementor-section.elementor-element.product-card
> .elementor-container
.product-image::before {
Übergang: alle 0,3 s Ease-in-out;
Position: absolut;
Breite: 100 %;
Höhe: 100 %;
Hintergrundwiederholung: keine Wiederholung;
Hintergrundgröße: Cover;
oben: 0;
links: 0;
Bildschirmsperre;
Inhalt: "";
}
.elementor-section.elementor-element.core-range
> .elementor-container:hover
.product-image::before {
Animation: productCardBackgroundHover 0,3 s einfaches Ein- und Ausfahren;
Animationsfüllmodus: vorwärts;
Hintergrundbild: url("./images/core-range-bg.svg");
}
.elementor-section.elementor-element.phases-of-the-moon
> .elementor-container:hover
.product-image::before {
Animation: productCardBackgroundHover 0,3 s einfaches Ein- und Ausfahren;
Animationsfüllmodus: vorwärts;
Hintergrundbild: url("./images/phases-of-the-moon-bg.svg");
}
@keyframes productCardBackgroundHover {
0 % { Deckkraft: 0;
100 % { Deckkraft: 1;
}</pre>
<p><br /></p>
所以问题是不透明度没有过渡,这是因为我在悬停时设置了背景图像,所以当没有悬停时,不透明度会过渡消失,然后图像自然地立即消失: