微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – CSS从左到右渐变

有没有办法使用CSS来淡化元素(至少只是文本)进出,从左到右,反之亦然?

这是我的意思的一个例子:

实际上,如果需要jQuery,我也会接受这一点,就像第二个优先事项.

解决方法

是的,你可以使用 CSS3动画( check browser support here).

这是一个简单的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%;}
}

正如你所看到的,边界有一个鲜明的对比.如果您使用图像渐变而不是纯白色背景,它将呈现更好的效果.

然后,您可以对IE9及以下版本使用jQuery后备版本.

原文地址:https://www.jb51.cc/js/150613.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐