2014-09-10 54 views
0

我已經做了一個轉換,以便在懸停時慢慢更改導航元素的背景。但是當我把鼠標放在元素上時,它會立即將它改變成我以前的樣子。我希望這種改變像最初的過渡一樣緩慢。如何反轉過渡?

這裏是HTML代碼

<ul> 

    <a href="#"><li><i class="home primary-nav-element"></i></li></a><!-- 
    --><a href="#"><li><i class="upload primary-nav-element"></i></li></a><!-- 
    --><a href="#"><li><i class="favs primary-nav-element"></i></li></a><!-- 
    --><a href="#"><li><i class="search primary-nav-element"></i></li></a> 

</ul> 

這是當前CSS我:

.primary-nav li:hover .home { 
    background-position: 0 100%; 
    -webkit-transition: background 400ms; 
    -moz-transition: background 400ms; 
    -o-transition: background 400ms; 
    transition: background 400ms; 
} 
+0

我覺得有些事情出差錯你的HTML,太。你的HTML層次結構必須是ul-> li-> a,而不是ul-> a-> li – budamivardi 2014-09-10 15:02:50

回答

4

戴上.primary-nav li,而不是過渡:懸停psuedo元素。

.primary-nav li { 
    -webkit-transition: background 400ms; 
    -moz-transition: background 400ms; 
    -o-transition: background 400ms; 
    transition: background 400ms; 
} 

.primary-nav li:hover .home { 
    background-position: 0 100%; 
} 
+0

你可能也想看看緩解控制:http://www.w3schools.com/cssref/css3_pr_transition-timing -function.asp – briansol 2014-09-10 15:01:31