2016-12-28 3 views
0

私はウィザードを持ったWebページを持っています。ウィザードには3つのステップがあります。CSSでダイナミックハイトを正しくアニメーション化

ユーザーがステップ1からステップ2に進むと、ステップ2でステップ1のコンテンツがその下にプッシュされます。ユーザーがステップ2からステップ3に進むと、ステップ3でコンテンツを表示するためにコンテンツが反転し、ステップ1および2でコンテンツが効果的に隠されます。これはこのBootplyのように動作します。コードは次のようになります。最初の行で

<div class="container-fluid" style="background-color:#eee;"> 
    <div class="container"> 
    <div class="flip-container"> 
     <div class="flipper"> 
     <div class="front"> 
      <div class="step-2-default" id="step2" style="overflow-x:hidden; padding:0.0rem 1.0rem;"> 
      <label>Step 2</label> 
      <p>These are the details of the second step</p> 
      <button id="nextButton2">next</button>   
      </div> 

      <div class="step-1-default" id="step1"> 
      <label>Step 1</label> 
      <p>These are the details of the first step</p> 
      <button id="nextButton1">next</button> 
      </div> 
     </div> 

     <div class="back"> 
      <div id="step3"> 
      <label>Step 3</label> 
      <p>Thank you for using this wizard</p> 
      </div>         
     </div> 
     </div> 
    </div> 
    </div> 
</div> 

background-coloreeeに設定されていることに気づきます。それは現れていない。それが表示されない理由は、divの高さが0であるためです。私は、このdivをクラスフロントのdivの高さに基づいてサイズ調整します。言い換えれば、divはdivフロントよりもdivより短くなることはありません。ただし、ステップ2が表示されると、このdivの高さが増加します。そのため、動的である必要があります。

どうすればいいですか?それは私にナッツを運転している!

答えて

0

.front.backの高さを100%に設定しました。しかし何の100%?高さについてより具体的にする必要があります。ピクセルを使用するか、高さをautoに設定します。第2の選択肢は、動的コンテンツを持つ方がよい場合です。

.front, .back { 
    width: 100%; 
    height: auto; 
} 

Demo here

+0

ご回答いただきありがとうございます。しかし、私はデモを見て、それは問題の私の説明と一致しませんでした。私はそれ以降、より明確にするためにbootplyを更新しました。最も外側のコンテナは、私が成長する必要がある要素です。現時点では、内部コンテンツの高さが0であると見なされます。 – user687554

+0

今、理解しています。あなたの問題は、一度.frontと.backをposition:absoluteに設定すると、ページのフローから削除され、親コンテナが崩壊することです。 – sol

+0

@ user687554ここには1つの方法---> http://www.bootply.com/f637zchFac# - あなたは絶対的な最後のステップを置くことができます - したがって、それは本質的に前の2つのステップをカバーしています。 – sol