Ja, Sie können es mit CSS3-Animationen (check browser support here) tun.
Hier ist eine einfache demo for text-fading.
HTML:
<div class="text">
There is some text here!
<div class="fadingEffect"></div>
</div>
CSS:
.text {
position:relative;
line-height:2em;
overflow:hidden;
}
.fadingEffect {
position:absolute;
top:0; bottom:0; right:0;
width:100%;
background:white;
-moz-animation: showHide 5s ease-in alternate infinite; /* Firefox */
-webkit-animation: showHide 5s ease-in alternate infinite; /* Safari and Chrome */
-ms-animation: showHide 5s ease-in alternate infinite; /* IE10 */
-o-animation: showHide 5s ease-in alternate infinite; /* Opera */
animation: showHide 5s ease-in alternate infinite;
}
@-webkit-keyframes showHide { /* Chrome, Safari */
0% {width:100%}
40% {width:0%}
60% {width:0%;}
100% {width:100%;}
}
@-moz-keyframes showHide { /* FF */
0% {width:100%}
40% {width:0%}
60% {width:0%;}
100% {width:100%;}
}
@-ms-keyframes showHide { /* IE10 */
0% {width:100%}
40% {width:0%}
60% {width:0%;}
100% {width:100%;}
}
@-o-keyframes showHide { /* Opera */
0% {width:100%}
40% {width:0%}
60% {width:0%;}
100% {width:100%;}
}
@keyframes showHide {
0% {width:100%}
40% {width:0%}
60% {width:0%;}
100% {width:100%;}
}
Wie Sie sehen können, gibt es einen scharfen Kontrast an den Grenzen. Wenn Sie einen Bildgradienten anstelle eines reinen weißen Hintergrunds verwenden, wird es besser gerendert.
Dann können Sie ein jQuery Fallback für IE9 und darunter verwenden.
Sie können eine zusätzliche Ebene mit einem Farbverlauf (von weiß bis transparent) verwenden und diese horizontal verschieben, um den gewünschten Effekt zu erzielen. – feeela
@feeela Das ist, was ich dachte, könnte am besten funktionieren, aber ich war mir nicht sicher, wie ich den obigen Effekt erreichen sollte, da die Ebene einfach zurückgehen würde, anstatt weiter in dieselbe Richtung zu gehen. – Bobe
Platziere eine Ebene über dem Text und animiere einen Farbverlauf? Dies könnte funktionieren, aber es ist lange her, seit ich CSS3-Gradienten verwendet habe. – Zeta