如何在不使用 setInterval 的情况下淡入文本?有没有 CSS 方法可以做到这一点?

Posted

技术标签:

【中文标题】如何在不使用 setInterval 的情况下淡入文本?有没有 CSS 方法可以做到这一点?【英文标题】:How to fade in text without using setInterval? Is there a CSS way to do this? 【发布时间】:2011-12-27 04:10:01 【问题描述】:

我想让一些文本淡入。我已经使用 javascript 和 setInterval 完成了这些事情。这行得通,但对于这样一个简单的效果来说,这似乎太多了。

有没有一种 CSS 方法可以让文本淡入?例如,它从 0% 的不透明度开始,并在我指定的时间范围内变为 100% 的不透明。

谢谢。

【问题讨论】:

是的...使用 css 和一行 javascript,但它需要是 css3,因此不支持旧版浏览器。 【参考方案1】:

想到的一些想法:

1) 像 jQuery、YUI 等动画框架。当然,那些可能在内部使用 setInterval 但那是他们的垃圾,而不是你的。

2) CSS3 - 如果您只需要在最新的浏览器上工作或有备用计划,这可能是一个不错的选择。如果你Google for "CSS3 animation"

有很多例子

3) 如果您的文本是静态且较小的,则可以使用动画 GIF。

希望这会有所帮助!

【讨论】:

【参考方案2】:

是的,您可以使用 CSS3 过渡计时功能。

在这里查看一些示例:

http://www.the-art-of-web.com/css/timing-function/

【讨论】:

【参考方案3】:

您可以使用 CSS3 转换在 :hover 上执行此操作。一个很简单的例子:http://jsfiddle.net/xaBgQ/

【讨论】:

很有趣,但这不是用来悬停的。我希望文本在页面首次出现时逐渐出现,然后保持可见。 是的,CSS3 转换只能发生在 CSS 可定位的事件上,例如 :hover、:active:、:focus 等。Javascript 是您所说的唯一方法。跨度> 【参考方案4】:

CSS3 过渡支持这一点,但目前支持有点参差不齐。

【讨论】:

【参考方案5】:

不仅仅是 CSS(跨所有浏览器),jQuery 为此类效果提供了一个很好的 API,fadeIn 方法可能会很合适。

【讨论】:

以上是关于如何在不使用 setInterval 的情况下淡入文本?有没有 CSS 方法可以做到这一点?的主要内容,如果未能解决你的问题,请参考以下文章

JQuery fadeIn fadeOut 与 setInterval 偶尔工作

在不打开执行它的网页的情况下执行jquery ajax代码。

如何在不安装 Zend 框架的情况下使用 Zend 库

如何在不使用 AudioQueueRef 的情况下在 AudioQueue 中设置音量?

如何在不更改链接结构的情况下使用 \ 转义字符 (、)、[、]、*、_、:[]()

如何在不使用滤镜的情况下使图像变暗? [复制]