2012-02-22 24 views
17

私はホバリングされたときにサイズが変わるボックスを持っています。しかし、古いサイズを元に戻す前に、ボックスが新しいサイズを数秒間維持するように、マウス出力ステージを遅らせたいと思います。CSS3トランジションでマウスオーバー/ホバーを遅らせる

div { 
    width: 70px; 
    -webkit-transition: .5s all;  
} 

div:hover { 
    width:130px; 
} 

これはJavascriptとCSS3なしで可能ですか?私はウェブキットを気にする必要があります。

+0

css3アニメーションプロパティを試しましたか?私はアニメーションプロパティでいくつかのことを試しましたが、私はあなたが望むものであるかどうかはわかりません。しかし、もし私があなたにそれを与えることができますしたい。 – Shabib

答えて

37
div { 
    width: 70px; 
    -webkit-transition: .5s all; 
    -webkit-transition-delay: 5s; 
    -moz-transition: .5s all; 
    -moz-transition-delay: 5s; 
    -ms-transition: .5s all; 
    -ms-transition-delay: 5s; 
    -o-transition: .5s all; 
    -o-transition-delay: 5s; 
    transition: .5s all; 
    transition-delay: 5s; 
} 

div:hover { 
    width:130px; 
    -webkit-transition-delay: 0s; 
    -moz-transition-delay: 0s; 
    -ms-transition-delay: 0s; 
    -o-transition-delay: 0s; 
    transition-delay: 0s; 
} 

これはすぐにマウスオーバー状態をトリガーしますが、マウスオーバーがトリガーされるまで5秒間待機します。

Fiddle

+1

編集して、ウェブキット以外のプレフィックスも追加しました。 "div:"タグ定義の –

+0

は、 "transition:"と "transition-delay"を重複して指定していません。トランジション仕様の最初の値は遅延値です、いいえ? – Screenack

+1

@Screenackいいえ、最初の値は移行の持続時間です。移行が完了するまでにどれくらいの時間がかかります。 – Sandwich

6

遷移が

transition: .5s all 5s 

として宣言することができる は、あなたが別遷移遅延を必要としない(速記、最初の数は持続時間である、第二の数は遅延である)

申し訳ありませんが、私は十分なポイントがないので、コメントとして追加することはできません

関連する問題