2017-03-16 54 views
0

これがブートストラップのバグかグリッドシステムを理解できないのか分かりません。私は、グリッドシステムで、ボトムパネルと、列幅1-7で遊んでてきたブートストラップグリッド左マージンが整列していない

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');
<div class="row"> 
 
    <div class="col-md-10 col-md-offset-1"> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-body"> 
 
     
 
     <div class="row"> 
 
      <div class="col-md-6"> 
 
      
 
      <div class="row"> 
 
       <div class="col-md-10 col-md-offset-1"> 
 
       <h3>This Guy</h3> 
 
       </div> 
 
      </div> 
 
      
 
      </div> 
 
     </div> 
 
     
 
     </div> 
 
    </div> 
 
    </div> 
 
</div> 
 

 

 
<div class="row"> 
 
    <div class="col-md-10 col-md-offset-1"> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-body"> 
 
     
 
     <div class="row"> 
 
      <div class="col-md-12"> 
 
      
 
      <div class="row"> 
 
       <div class="col-md-10 col-md-offset-1"> 
 
       <h3>That Guy</h3> 
 
       </div> 
 
      </div> 
 
      
 
      </div> 
 
     </div> 
 
     
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

を:私が整列する2つのヘッダ(このガイ、ガイそれを)希望しますすべてが左の余白を揃えますが、9つ以上の列の幅は異なる左揃えになります。

私の質問:ブートストラップ3を使用して、異なるパネルに6列幅の行と12列幅の行の内容を揃える方法はありますか?

This is what Happens and it Looks Ratchet.

+1

あなたは、コードを実行する場合は、全ページを選択しない限り、あなたは、アライメントの問題は表示されませんスニペット。 –

答えて

2

私はあなたがこの作品を作るために、独自のオフセットクラスを作る必要があるとしていると思います。

新しい行を開始するたびに、12列の新しい列コンテキストが開始されます。あなたのこのGuyのテキストは、6ワイド列の内側に1つオフセットされた10ワイド列です。あなたのそのGuyのテキストも、幅が10の広い列で、1だけオフセットされていますが、幅は12の列です。ブートストラップではパーセンテージが使用されているため、のサイズは、.col-md-10 .col-md-offset-1が入っているコンテナのサイズが異なるために異なります。

解決方法:.col-md-offset-0-5のような独自のオフセットクラスを作成してください。

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'); 
 

 
@media (min-width: 992px) { 
 
    .col-md-offset-0-5 { 
 
    margin-left: 4.1666666%; 
 
    } 
 
}
<div class="row"> 
 
    <div class="col-md-10 col-md-offset-1"> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-body"> 
 
     
 
     <div class="row"> 
 
      <div class="col-md-6"> 
 
      
 
      <div class="row"> 
 
       <div class="col-md-10 col-md-offset-1"> 
 
       <h3>This Guy</h3> 
 
       </div> 
 
      </div> 
 
      
 
      </div> 
 
     </div> 
 
     
 
     </div> 
 
    </div> 
 
    </div> 
 
</div> 
 

 

 
<div class="row"> 
 
    <div class="col-md-10 col-md-offset-1"> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-body"> 
 
     
 
     <div class="row"> 
 
      <div class="col-md-12"> 
 
      
 
      <div class="row"> 
 
       <div class="col-md-10 col-md-offset-0-5"> 
 
       <h3>That Guy</h3> 
 
       </div> 
 
      </div> 
 
      
 
      </div> 
 
     </div> 
 
     
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

+0

これはすばらしいことですが、おそらくこれを使用して答えを正しいものとしてマークします。私はちょうどBSの天才がCSSを必要としないこれを達成する方法を考え出すのを待つつもりです。また、私はこれをBootstrapチームのバグとして報告する必要があるのだろうかと思っています。なぜなら、左側の余白は列の幅に関係なく一直線に並ばなければならないと思います。とにかく、ありがとう、あなたのソリューションは素晴らしいと私の応答レイアウトで働いています。 –

+1

@JonDiamond私はほとんど私の答えで終わって、これがかなり私が言うつもりだったものが掲載されたのを見ました。 2番目のパネルは、オフセットされるスペースがある行の中に入れ子になっている行を設定していないため、テキストが「プッシュオーバー」されています。独自のオフセットクラスを作成するか、グリッドレイアウトを単純化して一致させる – crazymatt

関連する問題