CSS3淡化效果

3zz*_*zzy 15 css fade css3 css-transitions

a {
    float: left;
    width: 32px;
    height: 32px;
    text-align: left;
    text-indent:-9999px;
    background: url('../img/button.png') no-repeat 0 0;

    -webkit-transition: background 300ms ease-in 2s; /* property duration timing-function delay */
    -moz-transition: background 300ms ease-in 2s;
    -o-transition: background 300ms ease-in 2s;
    transition: background 300ms ease-in 2s;


    -webkit-transition-property: background;
    -webkit-transition-duration: 300ms;
    -webkit-transition-timing-function: ease-in;
    -webkit-transition-delay: 100ms;

    -moz-transition-property: background;
    -moz-transition-duration: 300ms;
    -moz-transition-timing-function: ease-in;
    -moz-transition-delay: 100ms;

    -o-transition-property: background;
    -o-transition-duration: 300ms;
    -o-transition-timing-function: ease-in;
    -o-transition-delay: 100ms;

    transition-property: background;
    transition-duration: 300ms;
    transition-timing-function: ease-in;
    transition-delay: 100ms;

}

a:hover {
    background:position: 0 -32px;
}
Run Code Online (Sandbox Code Playgroud)

..目前它有向上/向下滚动效果,但我希望背景随着淡入效果而改变,我应该在CSS中改变什么?

谢谢!

rob*_*rtc 25

您无法在两个背景图像之间切换,因为浏览器无法知道您要插入的内容.正如您所发现的,您可以转换背景位置.如果你希望图像在鼠标悬停时淡入,我认为使用CSS过渡的最佳方法是将图像放在包含元素上,然后在链接本身上将背景颜色设置为透明:

span {
    background: url(button.png) no-repeat 0 0;
}
a {
    width: 32px;
    height: 32px;
    text-align: left;
    background: rgb(255,255,255);

    -webkit-transition: background 300ms ease-in 200ms; /* property duration timing-function delay */
    -moz-transition: background 300ms ease-in 200ms;
    -o-transition: background 300ms ease-in 200ms;
    transition: background 300ms ease-in 200ms;
    }
a:hover {
    background: rgba(255,255,255,0);
}
Run Code Online (Sandbox Code Playgroud)

  • 以下是可以转换的属性列表:http://www.w3.org/TR/css3-transitions/#properties-from-css- (5认同)