2013-07-28 71 views
2

我想通過交叉漸變將div元素的背景顏色從黑色更改爲藍色,但現在不知道如何去做。我試圖用圖像做,但將圖像作爲背景並通過淡入淡出效果進行更改使其變得沉重。有什麼辦法通過CSS或Javascript來做到這一點?請幫忙。更改背景顏色的div元素交叉漸變在一個循環中

+0

更改經由淡入淡出[jsfiddle.netTytSZ](http://jsfiddle.net/TytSZ/)從黑色div元素的背景色爲紅到藍。我試圖用圖像做,但將圖像作爲背景,並通過淡入淡出效果改變,使其變得沉重[jsfiddle.net/562am](http://jsfiddle.net/562am/) –

回答

3

CSS:

.fadechange { 
    height:200px; 
    width:100%; 
    background: black; 
    animation: fading 4s infinite; 
    -webkit-animation: fading 4s infinite; 
} 

@keyframes fading { 
    0% { background: black; } 
    33% { background: red; } 
    66% { background: blue; } 
    100% { background: black; } 
} 

@-webkit-keyframes fading { 
    0% { background: black; } 
    33% { background: red; } 
    66% { background: blue; } 
    100% { background: black; } 
} 

根據W3Schools的這必須在IE(10+),歌劇,鉻,Safari和Firefox的工作。 http://www.w3schools.com/cssref/css3_pr_animation-keyframes.asp

jsfiddle

+0

謝謝瑪利亞這個工作解決方案。它的工作很棒。關於上面的代碼,我沒有多少疑問。時間流逝如何管理?什麼是關鍵幀與舊瀏覽器的兼容性,因爲我讀它在IE9下不兼容? –

+0

這意味着完整的動畫持續4秒。動畫從0%開始到100%結束,所以在1.33s之後會變成紅色,在2.66變成藍色,在4s之後變成黑色。這無限重複。 – Maria

+0

謝謝,我在一段時間後發現它。它的工作很好,但過了一段時間後,它滯後並放慢速度。它不會在這裏同步[jsfiddle.net/NFyPX](http://jsfiddle.net/NFyPX/)。 –