2013-08-06 18 views
10

私はパネルをスライドさせるために使用しているトランジションに問題があります。Css3で遅延を取り除く方法最大高さの遷移を使用するスライドアウトの遷移

次jsbinで私はトグルボタンに遷移がすぐに発生した最初の時間をクリックすることhttp://jsbin.com/uvejuj/1/

お知らせを見てみてください。

ボタンをもう一度クリックすると、トランジションが実行される前にトランジションの時間が遅れます。

締め切りの原因となっていることは何ですか、どうすれば取り除くことができますか?

おかげ

答えて

19

あなたは0と1000px最大高さの間でアニメーション化しているので、それはですが、あなたのコンテンツは約120ピクセル高です。遅れは、見えない880ピクセルで起こっているアニメーションです。

max-heightをコンテンツの既知の高さ(わかっている場合 - 例:http://jsbin.com/onihik/1/)に設定するか、別の方法を試してください。たぶんhttps://stackoverflow.com/a/6486082/2619379

+1

遅延が発生する理由の大きな説明! – Jupo

17

Fixed JS Bin

修正遅延ソリューションのようなもの:

は、要素のための立方ベジエ(0、1、0、1)遷移関数を置きます。

.text { 
    overflow: hidden; 
    max-height: 0; 
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1); 
    &.full { 
    max-height: 1000px; 
    transition: max-height 1s ease-in-out; 
} 
+0

ありがとう!素晴らしい解決策! – Alex

+0

これと一緒に行く!素晴らしいソリューション、ありがとう – Jupo

+0

恐ろしい解決策。受け入れられた答えだったはずです。 – MadOgre

関連する問題