2017-06-20 2 views
1

私はBootstrapフレームワークを利用してサイトを作成しています。私たちのチームの "About Us"セクションにはcolumnの画像とcolumnという名前の/ bioという画像があります。添付のCSSファイルで@media (max-width: 1199px) {でウィンドウの変更を処理しています。ウィンドウサイズに基づいてオブジェクトの順序を変更するにはどうすればよいですか? (HTML/CSS)

セクションでは、現在、書式設定されている方法は次のとおりです。

<div class="container team"> 
    <h2>Meet the Team</h2> 
    <hr> 
    <div class="row row-eq-height" id="ethan"> 
     <div class="col-md-6" id="picture"> 
     <img src="[Image Link]" width="500" height="350" alt="Ethan Blagg"> 
     </div> 

     <div class="col-md-6" id="bio"> 
     <div class="row" id="name"> 
      <h3>Ethan Blagg</h3> 
      <hr> 
     </div> 

     <div class="row" id="info"> 
      <p> [bio goes here] </p> 
     </div> 
     </div> 
    </div> 
</div> 

この交互:

Picture | Name+Bio

Name+Bio | Picture

Picture | Name+Bio

Name+Bio | Picture

私はウィンドウ幅に992pxの下に取得するときに私の問題は、への書式設定の変更である:など

Picture

Name+Bio

Name+Bio

Picture

ウィンドウのサイズが変更されたときにオブジェクトの順序を変更するにはどうすればよいですか?

フルサイズの場合、コンテナ内で左右に交互に表示されますが、一定のサイズよりも小さくなると、フォーマットは予想どおり垂直になりますが、順序は正しくありません。これはHTMLやCSSで変更する必要がありますか?

答えて

3

あなたは再注文に@media (max-width: 1199px)ルール子どもたちが必要な場合は、ブートストラップ4のflexbox列を使用して、あなたは再オーダーしたい人の子供と親行にクラスを割り当てるには、再度順にフレックスorderプロパティを使用します。一貫してpicture + name+bioにするには、name+bioが最初に来る行にクラスを追加し、その行に#picture { order: -1; }を使用して最初に画像を配置します。

@media (max-width: 1199px) { 
 
    .reorder #picture { 
 
    order: -1; 
 
    } 
 
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/> 
 
<div class="container team"> 
 
    <h2>Meet the Team</h2> 
 
    <hr> 
 
    <div class="row row-eq-height" id="ethan"> 
 
    <div class="col-md-6" id="picture"> 
 
     <img src="https://i.stack.imgur.com/2C22p.jpg" width="500" height="350" alt="Ethan Blagg"> 
 
    </div> 
 

 
    <div class="col-md-6" id="bio"> 
 
     <div class="row" id="name"> 
 
     <h3>Ethan Blagg</h3> 
 
     <hr> 
 
     </div> 
 

 
     <div class="row" id="info"> 
 
     <p> [bio goes here] </p> 
 
     </div> 
 
    </div> 
 
    </div> 
 
    <hr> 
 
    <div class="row row-eq-height reorder" id="ethan"> 
 

 
    <div class="col-md-6" id="bio"> 
 
     <div class="row" id="name"> 
 
     <h3>Ethan Blagg</h3> 
 
     <hr> 
 
     </div> 
 

 
     <div class="row" id="info"> 
 
     <p> [bio goes here] </p> 
 
     </div> 
 
    </div> 
 
    
 
    <div class="col-md-6" id="picture"> 
 
     <img src="https://i.stack.imgur.com/2C22p.jpg" width="500" height="350" alt="Ethan Blagg"> 
 
    </div> 
 
    
 
    </div> 
 
</div>

+0

今私は 'row-eq-height'を使って、自分の画像コンテナを' name'/'bio'を含む' column'と 'display:' -webkit-box'、 -webkit-flex'、 '-ms-flexbox'、および' flex'を使用します。あなたのソリューションを使用するとき、私はこのルール(私のCSSで)をコメントアウトする場合にのみ動作します。並べ替え機能を犠牲にすることなくセンタリングを維持する方法はありますか? – Munkeeface

4

チェックアウトBootstrap column ordering。プッシュクラスとプルクラスを使用して、必要な結果を得る方法について説明します。

+1

これは3ブートストラップ、OPのポストが山車を使用しないブートストラップ4と4でタグ付けされています。 –

+0

@MichaelCokerに感謝していただきありがとうございます。正しいバージョンのドキュメントへのリンクを更新しました。 –

+0

あなたは歓迎ですが、これはコメントであって解決策ではありません。ソリューションで回答する場合は、実際にソリューションを提供してください。リンクのみの回答では答えないようにしてください。 –

関連する問題