2014-01-15 140 views
2

我有一個背景,既有背景圖像,這是一個透明PNG和線性漸變的div。預期的效果是在梯度保持靜止的同時讓圖像變成動畫。在Chrome和Safari中,這是動畫的工作原理,但在Firefox和IE中,背景圖像和漸變動畫一起。CSS3動畫漸變+ bg圖像

有沒有一種方法可以在不使用其他div的情況下使用CSS在所有瀏覽器中獲得所需效果?

http://jsfiddle.net/FprGA/

@-webkit-keyframes bgscroll { 
    0% { background-position: 0 0 ; } 
    100% { background-position: 0 -230px; } 
} 

@keyframes bgscroll { 
    0% { background-position: 0 0 ; } 
    100% { background-position: 0 -230px; } 
} 

    .hero { 
    display: block; 
    height: 20rem; 
    background-image: image-url("icons_grid.png"), -webkit-linear-gradient(to bottom, #646464, #323232); 
    background-image: image-url("icons_grid.png"), -moz-linear-gradient(to bottom, #646464, #323232); 
    background-image: image-url("icons_grid.png"), linear-gradient(to bottom, #646464, #323232); 
    margin-bottom: 3rem; 
    animation: bgscroll 30s infinite linear; 
    -webkit-animation: bgscroll 30s infinite linear; 
    border-bottom: .3rem solid #0b71b9; 
    } 

回答

5

這爲我做的工作:

@keyframes bgscroll { 
    0% { background-position: 0 0, 0 ; } 
    100% { background-position: 0 -230px, 0; } // added '0' position for 2nd background 
} 
+1

+1偉大的答案。工作正常。 –

+0

很高興,我可以幫助:) – skshoyeb

+0

是在我的最終確認。非常感謝,它現在可以在所有瀏覽器中運行。 – LLong