Verwenden Sie CSS3-Übergänge mit Farbverlaufshintergründen
Ich versuche, die Umstellung auf hover mit css über eine Miniaturansicht, so dass Sie auf schweben, der hintergrund-Verlauf eingeblendet wird. Der übergang ist nicht funktioniert, aber wenn ich ändern Sie einfach es zu einer rgba () - Wert, es funktioniert gut. Sind Farbverläufe nicht unterstützt? Ich habe versucht mit einem Bild zu, es wird nicht den übergang des Bildes entweder.
Ich weiß, es ist möglich, wie in einem anderen post jemand gemacht haben, aber ich kann nicht herausfinden, wie genau. Jede Hilfe> Hier kommen einige CSS-arbeiten mit:
#container div a {
-webkit-transition: background 0.2s linear;
-moz-transition: background 0.2s linear;
-o-transition: background 0.2s linear;
transition: background 0.2s linear;
position:absolute;
width:200px;
height:150px;border: 1px #000 solid;
margin:30px;z-index:2
}
#container div a:hover {
background:-webkit-gradient(radial, 100 75, 100, 100 75, 0, from(rgba(0,0,0,.7)), to(rgba(0,0,0,.4)))
}
InformationsquelleAutor der Frage alt | 2011-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Farbverläufe nicht unterstützt übergänge noch (obwohl die aktuelle spec sagt, Sie sollte unterstützen, wie Gradienten, wie Steigungs-übergänge via interpolation.).
Wenn Sie möchten, eine fade-in-Effekt mit hintergrund-Farbverlauf, setzten Sie einen Deckkraft auf ein container-element und 'übergang` die Deckkraft.
(Es wurden einige browser-Versionen, unterstützt übergänge an Steigungen (e.g IE10. Getestet habe ich Steigungs-übergänge im vergangenen Jahr, und Sie schien zu arbeiten, aber mein test-code funktioniert nicht mehr - vielleicht gab es eine Störung in der Matrix.)
InformationsquelleAutor der Antwort Michael Mullany
Eine Lösung ist die Verwendung background-position zu imitieren, um den Verlauf übergang.
Diese Lösung wurde in Twitter Bootstrap vor ein paar Monaten.
Update
http://codersblock.blogspot.fr/2013/12/gradient-animation-trick.html?showComment=1390287622614
Hier ist ein kurzes Beispiel:
Link-state -
Hover-Zustand
InformationsquelleAutor der Antwort vinzcelavi
In der folgenden, in ein Anker-tag hat ein Kind und ein Enkelkind. Der Enkel hat den hintergrund Farbverlauf. Das Kind in der Nähe der hintergrund ist transparent, hat aber den Farbverlauf auf den übergang zu. Auf hover des Kindes Deckkraft übergang von 0 zu 1, über einen Zeitraum von 1 Sekunde.
Hier ist der CSS:
Und, dies ist die HTML:
Das oben ist nur getestet in der neuesten version von Chrome. Diese sind vor schweben, auf halbem Weg auf-schweben und vollständig umgestellt auf-hover-Bilder:
InformationsquelleAutor der Antwort PaulQ
Können Sie GEFÄLSCHTE übergänge zwischen Verläufe, übergänge in der Deckkraft ein paar gestapelte Verläufe, wie beschrieben, ein paar der Antworten hier:
CSS3 animation mit Steigungen.
Können Sie auch den übergang der position statt, wie hier beschrieben:
CSS3 Gradienten-übergang mit background-position.
Einige weitere Techniken hier:
Animieren CSS3 Gradients.
InformationsquelleAutor der Antwort JohnK
Versuchen verwenden :vor und :nach (ie9+)
InformationsquelleAutor der Antwort Anon
Teilweisen workaround für Gradienten-übergang ist die Verwendung inset box-shadow - Sie können übergang entweder die box Schatten selbst, oder die hintergrund Farbe - wenn Sie z.B. erstellen inset box shadow in der gleichen Farbe als hintergrund und als übergang auf die Hintergrundfarbe, die es schafft die illusion, dass die Ebene hintergrund ist die änderung der radialen Verlauf
InformationsquelleAutor der Antwort Frantisek Were Bouska
Wie gesagt. Verläufe, die sich aktuell nicht unterstützt CSS Transitions. Aber man konnte es umgehen, in einigen Fällen durch die Einstellung ein aus den Farben transparent, sodass der hintergrund-Farbe, einige andere Verpackung-element schimmert durch, und der übergang statt.
InformationsquelleAutor der Antwort Jens
Ich benutze diese bei der Arbeit 🙂 IE6+
https://gist.github.com/GrzegorzPerko/7183390
Vergessen Sie nicht über
<element class="ahover"><span>Text</span></a>
wenn Sie ein text-element.InformationsquelleAutor der Antwort Davton
Kann nicht Schaden, nach einer anderen Ansicht, da es noch keine offizielle Möglichkeit, dies zu tun. Schrieb eine leichte jQuery-plugin, mit dem Sie festlegen können, einen hintergrund mit radialem Farbverlauf und einen übergang Geschwindigkeit. Dies ist die grundlegende Anwendung wird dann lassen Sie es verblassen, optimiert mit requestAnimationFrame (sehr glatt) :
http://codepen.io/Shikkediel/pen/xbRaZz?editors=001
Hält ursprüngliche hintergrund und alle Eigenschaften erhalten bleiben. Hat auch highlight-tracking als eine Einstellung :
http://codepen.io/Shikkediel/pen/VYRZZY?editors=001
InformationsquelleAutor der Antwort Shikkediel
Wollte ich ein div erscheinen wie eine 3D-Kugel und übergang durch Farben.
Ich entdeckte, dass der Farbverlauf der Hintergrundfarbe nicht den übergang (noch) nicht.
Ich legte einen radialen Farbverlauf hintergrund vor dem element (mit z-index) mit einem übergang einfarbigen hintergrund.
dann die
div.ball
unter:dann verändert die Hintergrundfarbe des
div.ball
und voila!https://codepen.io/keldon/pen/dzPxZP
InformationsquelleAutor der Antwort rushkeldon
FWIW, hier Sass-mixin:
Verwendung:
@include gradientAnimation(red, blue, .6s);
Mixin:
@mixin gradientAnimation( $start, $end, $transTime ){
background-size: 100%;
background-image: linear-gradient($start, $end);
position: relative;
z-index: 100;
&:before {
background-image: linear-gradient($end, $start);
content: "";
display: block;
height: 100%;
position: absolute;
top: 0; left: 0;
opacity: 0;
width: 100%;
z-index: -100;
transition: opacity $transTime;
}
&:hover {
&:before {
opacity: 1;
}
}
}
Dieser Super Beitrag auf Medium von Dave Lunny: https://medium.com/@dave_lunny/animating-css-gradients-using-only-css-d2fd7671e759
InformationsquelleAutor der Antwort Ricardo Zea