2013-08-28 5 views
5

を、私はそれが可能だかどうかわからないんだけど、ここで私がやったことです:は上のトランジションを適用しますないホバー:アクティブ

a { 
    background-color: white; 
    transition: all 1s; 
} 

a:hover { 
    background-color: grey; 
} 

a:active { 
    background-color: black; 
} 

しかし、私はには適用しないように遷移をしたいと思います:アクティブ(ちょうど上)

a { 
    background-color: white; 
} 

a:hover { 
    background-color: grey; 
    transition: all 1s; 
} 

a:active { 
    background-color: black; 
} 

、結果は効果が反転しないことを除いて(まったく同じです::ホバー)が、私はこれを試してみました。完全なCSSでそれを行うことは可能ですか?

ありがとうございます!

+0

マウスを離した後でも要素をホバリングした後に ':active'から':hover'に移動しますか? – BoltClock

+0

はい、それが解決策です。 ':active'の後、単に':hover'(直ちに)状態に戻ります。しかし、これは ':active'で欲しいものです。ちょうどclickイベントを見るだけです。ありがとう – Cohars

+0

問題は、遷移が ':hover'のために定義されているので、直ちに変更するのではなく、':hover'にアニメートすることです(CSSではイベントではなく状態について話しています)。それはあなたには関係ありませんが、私は答えを投稿します。 – BoltClock

答えて

4
a { 
    background-color: white; 
    transition: all 1s; 
} 

a:hover { 
    background-color: grey; 
} 

a:active { 
    background-color: black; 
    transition: none; 
} 

マークアップ:

<menu type=list> 
    <li><a>home</a></li> 
    <li><a>work</a></li> 
    <li><a>contact</a></li> 
    <li><a>about</a></li> 
</menu> 

デモ:とき要素の移行をどうするか、次に:(アクティブ) `ではなく、私が唯一の`への移行を適用すると考えることができhttp://jsfiddle.net/7nwLF/

+0

これらの '!important'sは必要ありません。 – BoltClock

+0

真実ですが、セキュリティ上の理由からです。 –

+0

これはかなり単純です。どうもありがとうございました!これにより ':active'から':hover'statesへの移行が可能になり、素晴らしい効果が得られます! – Cohars