如何使用 css3 动画更改背景位置?

Posted

技术标签:

【中文标题】如何使用 css3 动画更改背景位置?【英文标题】:How do I change a background position with css3 animation? 【发布时间】:2011-11-08 17:59:30 【问题描述】:

假设我有一个 div 元素,背景为 position: 0%; 我如何将位置更改为例如 position: 100%; 但关键帧悬停

我似乎无法正确使用关键帧,它永远无法正常工作,而且我拥有所有最新的浏览器。

谢谢。

【问题讨论】:

我可以建议您发布一些关键帧尝试中的示例代码,人们可以提供帮助 【参考方案1】:

如果您只想在悬停时为背景位置设置动画,则使用过渡而不是关键帧动画要容易得多。参见这个小提琴的例子:http://jsfiddle.net/hfXSs/

如果您想付出额外的努力使其成为动画,则必须将 div 上的动画播放状态设置为“暂停”并在悬停时将其更改为“正在运行”。在此处查看有关暂停动画的规范:http://dev.w3.org/csswg/css3-animations/#the-animation-play-state-property-

编辑:我很无聊,所以这里使用关键帧动画是一样的:http://jsfiddle.net/wGRg5/

显然,小提琴的问题是,当您不将鼠标悬停在 div 上时,动画会暂停,这可能不是您想要的效果。

【讨论】:

【参考方案2】:

一些代码,只是在这个时间点看起来像 webkit。

.box 
    display:block;
    height:300px;
    width:300px;
    background:url('http://lorempixum.com/300/300') no-repeat;
    background-position:-300px;
    -webkit-transition:background-position 1s ease;


.box:hover
    background-position:0px;

通过:http://jsfiddle.net/hfXSs/

更多:http://css-tricks.com/parallax-background-css3/

【讨论】:

以上是关于如何使用 css3 动画更改背景位置?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以 - on:hover 暂停 css3 动画并更改其背景颜色?

如何运用CSS3轻松实现H5页面里的飞行动画

CSS3动画如何设置滑动到当屏的时候才触发动画播放

如何使用CSS3来创建一个3D的动画效果?

如何使用 jQuery 动画更改背景图像?

如何在单击功能中使用动画更改元素的背景颜色? [复制]