2017-07-07 10 views
0

Bootstrap 3 Accordion Collapseを使用していますが、現在はすべてが1つの列に読み込まれています。パネルで複数の列をデスクトップ解像度で、1列をモバイルモードで使用するにはどうすればよいですか?ブートストラップはアコーディオンに反応しますか?

 <div class="row"> 

      <div class="panel-group" id="accordion"> 

       <?php 
       foreach ($states as &$state) { 
        ?> 
        <div class="panel panel-default"> 
         <div class="panel-heading"> 
          <h4 class="panel-title"> 
           <a data-toggle="collapse" data-parent="#accordion" href="#<?php echo $state; ?>"> 
            <?php echo $state; ?></a> 
          </h4> 
         </div> 
         <div id="<?php echo $state; ?>" class="panel-collapse collapse in"> 
          <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
           sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad 
           minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea 
           commodo consequat.</div> 
         </div> 
        </div> 
       <?php } 
       ?> 
      </div> 

     </div> 

EDIT

これは私のedided HTML

  <div class="row"> 

       <div class="col-md-4 col-xs-12"> 

        <div class="panel-group" id="accordion"> 

         <?php 
         foreach ($states as &$state) { 
          ?> 
          <div class="panel panel-default"> 
           <div class="panel-heading"> 
            <h4 class="panel-title"> 
             <a data-toggle="collapse" data-parent="#accordion" href="#<?php echo preg_replace('/\s+/', '', $state); ?>"> 
              <?php echo $state; ?></a> 
            </h4> 
           </div> 
           <div id="<?php echo preg_replace('/\s+/', '', $state); ?>" class="panel-collapse collapse in"> 
            <div class="panel-body">test</div> 
           </div> 
          </div> 
         <?php } 
         ?> 

        </div> 

       </div> 

      </div> 

であり、それは次のようになります。デスクトップの解像度

enter image description here

+0

すべての '.row'は' .col-'を含んでいなければなりません。あなたが常に '.col-xs-'クラスを適用すると、応答するコンテナが常にあります。 – Lewk

答えて

1

あなたの改正コードは文句を言わないだけで動作します。 foreachの中にはcolがあるので、それらはすべて独立してラップされます。

はこれを試してみてください:

<div class="panel-group" id="accordion"> 
<div class="row"> 
    <?php foreach ($states as &$state) { ?> 
     <div class="col-xs-12 col-md-4"> 
      <div class="panel panel-default"> 
       <div class="panel-heading"> 
        <h4 class="panel-title"> 
         <a data-toggle="collapse" data-parent="#accordion" href="#<?php echo $state; ?>"> 
          <?php echo $state; ?></a> 
        </h4> 
       </div> 
       <div id="<?php echo $state; ?>" class="panel-collapse collapse in"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
         sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad 
         minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea 
         commodo consequat.</div> 
       </div> 
      </div> 
     </div><!-- col-md-4 now closes here --> 
    <?php } ?> 
</div> 

また、それはあなたのrow

うまくいけば、これはあなたのために働くcolsわたってるしきdivを持っているブートストラップ内の悪い習慣があります!

1

で唯一のスリム列私は、これはあなたが何を意味するかであるかわからないが、col-クラスであなたのアコーディオンをラップするのに十分ではないでしょうか?

同様:

<div class="row"> 
    <div class="col-xs-12 col-md-4"> 
     <div class="panel-group" id="accordion"> 

      <?php 
      foreach ($states as &$state) { 
       ?> 
       <div class="panel panel-default"> 
        <div class="panel-heading"> 
         <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#<?php echo $state; ?>"> 
           <?php echo $state; ?></a> 
         </h4> 
        </div> 
        <div id="<?php echo $state; ?>" class="panel-collapse collapse in"> 
         <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
          sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad 
          minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea 
          commodo consequat.</div> 
        </div> 
       </div> 
      <?php } 
      ?> 
     </div> 
    </div><!-- colse col-md-4 --> 
    </div> 
+0

私はそれをラップしましたが、デスクトップモードでは1つのカラムだけです。私は自分の質問を編集して、それは何のように見えるの画像を追加しました – Arya

0

これはあなたの答えである場合:

あなたがしなければならないすべては、パネルグループの前にブートストラップ列クラスを追加しています。

タブレット画面サイズのCOL-XS-12より小さな画面サイズ、COL-MD-4媒体画面サイズ/ PC、 COL-LG-12大画面サイズのために、COL-SM-6。あなたはあなたが1 colにそれらのすべてをラップしているforeachcolを定義しているので、

+0

私はそれをラップしましたが、それはデスクトップモードの唯一の列です。私は自分の質問を編集し、それがどのように見えるのかのイメージを追加しました – Arya

関連する問題