2014-10-07 55 views
0

我想在我的網站頁眉上添加淡入淡出效果。現在效果是倒退的。我怎麼可能扭轉它?透明度淡入背景圖片轉換

Jsfiddle Link

此外,透明效果應該是隻對圖像,而不是文字。

這是我的代碼現在:

#header ul li a:hover{ 
    color:#FF4242; 
    background: url(http://i.imgur.com/CJub1gt.png?1?7924) no-repeat 0 0; 
    -webkit-transition: opacity 0.5s ease-out; 
    -moz-transition: opacity 0.5s ease-out; 
    -o-transition: opacity 0.5s ease-out; 
    transition: opacity 0.5s ease-out; 
    opacity: 0.5; 
} 
+0

您不能在背景圖像上使用不透明度。 – 2014-10-07 18:21:44

+0

@Paulie_D我知道,但我知道有一個解決方法來實現即時嘗試做什麼,用不同的方法 – rez 2014-10-07 18:26:09

+0

是的,你需要使用一個僞元素與圖像正確定位作爲背景。然後在僞元素上使用不透明度。 – 2014-10-07 18:28:58

回答

2

您可以添加額外的div來li元素和背景動畫使用:http://jsfiddle.net/qoc6bbnm/3/

<li><a href="">Home</a><div class="back"></div></li> 

新的CSS值(除去# header ul li a and #header ul li a:hover)

#header ul li a:hover{ 
    color:#FF4242; 
} 

#header ul li { 
    position:relative; 
} 

#header ul li div.back{ 
    position:absolute; 
    width:100%; 
    height:100%; 
    z-index:-1; 
    color:#FF4242; 
    background: url(http://i.imgur.com/CJub1gt.png?1?7924) no-repeat 0 0; 
    -webkit-transition: opacity 0.5s ease-out; 
    -moz-transition: opacity 0.5s ease-out; 
    -o-transition: opacity 0.5s ease-out; 
    transition: opacity 0.5s ease-out; 
    opacity: 0 
} 

#header ul li:hover div.back{ 
    opacity:1; 
} 
+0

非常感謝,我可以問什麼'位置:相對;'在這裏實現? – rez 2014-10-07 18:38:34

+0

嗯,我總是使用位置:相對於具有位置:絕對的內部元素的元素,但在這種情況下,如果需要,可以將其刪除,因爲不存在用於.back的LEFT,RIGHT,TOP或BOTTOM。 div – Monte 2014-10-07 18:44:21

+0

在我的原始網站上,頭部已經在背景中顯示圖片,並且導致您的解決方案無法正常工作:/ – rez 2014-10-07 18:46:38