6

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

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

谢谢。

4

2 回答 2

11

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

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

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

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

于 2011-09-02T13:31:15.240 回答
6

一些代码,仅在此时看起来像 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/

于 2012-06-04T23:18:26.987 回答