2015-10-25 13 views
6

私は自分のアプリケーションのフロントを書いています。グリッド要素の1つが長すぎるため、前の行と次の行の間にギャップがあることに気付きました行を入れ子にしようとしたが、それでも動かすことができなかった。相続人は、それがどのように見えるかの例:ブートストラップグリッドシステム、列が長すぎる

https://jsfiddle.net/kkotwal94/f6d9dp98/embedded/result/

<div> 
    <div class="container-fluid"> 
     <div class="row"> 
      <div class="col-lg-12"> 
       <h1 class="page-header"> 
          Profile <small>My Info</small> 
         </h1> 

       <ol class="breadcrumb"> 
        <li class="active"> <i class="fa fa-dashboard"></i> 
         <Link to="/dashboard/main">Dashboard</Link> 
        </li> 
        <li>Profile</li> 
       </ol> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-lg-7"> 
       <div class="panel panel-info"> 
        <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile</div> 
        <div class="panel-body"> 
         <ul class="list-group"> 
          <li class="list-group-item">{"First Name: " + firstName}</li> 
          <li class="list-group-item">{"Last Name: " + lastName}</li> 
          <li class="list-group-item">{"Section: " + section}</li> 
          <li class="list-group-item">{"Gender: " + gender}</li> 
          <li class="list-group-item">{"Location: " + location}</li> 
         </ul> 
        </div> 
        <div class="panel-footer">Current Profile</div> 
       </div> 
      </div> 
      <div class="col-lg-4"> 
       <div class="panel panel-info"> 
        <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile Changes</div> 
        <div class="panel-body"> 
         <form action=""> 
          <div class="form-group"> 
           <label htmlFor="firstName">First Name</label> 
           <input type="firstName" class="form-control" id="firstName" placeholder={firstName} ref="firstName" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="lastName">Last Name</label> 
           <input type="lastName" class="form-control" id="lastName" placeholder={lastName} ref="lastName" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="section">Section</label> 
           <input type="section" class="form-control" id="section" placeholder={section} ref="section" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="gender">Gender</label> 
           <input type="gender" class="form-control" id="gender" placeholder={gender} ref="gender" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="location">Location</label> 
           <input type="location" class="form-control" id="location" placeholder={location} ref="location" /> 
          </div> 
          <button class="btn btn-default" onClick={this._onProfileUpdate}>Submit</button> 
         </form> 
        </div> 
        <div class="panel-footer">Update Info</div> 
       </div> 
      </div> 
      <div class="col-lg-7"> 
       <div class="panel panel-info"> 
        <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile</div> 
        <div class="panel-body"> 
         <ul class="list-group"> 
          <li class="list-group-item">{"First Name: " + firstName}</li> 
          <li class="list-group-item">{"Last Name: " + lastName}</li> 
          <li class="list-group-item">{"Section: " + section}</li> 
          <li class="list-group-item">{"Gender: " + gender}</li> 
          <li class="list-group-item">{"Location: " + location}</li> 
         </ul> 
        </div> 
        <div class="panel-footer">Current Profile</div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

コードはここにある:

---------- 
div1 div2 
div3 | 
     | 
--------- 

代わりの

:それが見えるようにするために、私は希望 http://jsfiddle.net/kkotwal94/f6d9dp98/

---------- 
div1 div2 
     | 
     | 
div3 
--------- 
+0

フロートをクリアします。 –

+0

これで、div3かcolsのどちらかが互いにクリアされています。これはあなたが望んでいないものです。だから見てみましょう。そのdiv1、div2などの代わりに具体的なクラス名を持っていないので、あなたが望むものを伝えるのは難しいです。 私が知る必要があるのは、どの応答サイズですか? lg、md、sm、または何ですか?フルスクリーンになっても問題は解決しますか?私が見ているのは、あなたがlgサイズだけに行くときの悪いラップです。 – blamb

+0

div1とdiv3を同じ行/列に配置できますか?それとも、モバイルに入る場合、div 2が真ん中にあることが重要ですか? – Sam

答えて

4

js fiddle resultcode

があなたのメインを構築分離する必要があります列ではなく行でのコンテンツ構造。 Div 1と3は同じ列にあり、div 2は別の列にあります。問題が解決しました?

<div> 
    <div class="container-fluid"> 
     <div class="row"> 
      <div class="col-lg-12"> 
       <h1 class="page-header"> 
          Profile <small>My Info</small> 
         </h1> 

       <ol class="breadcrumb"> 
        <li class="active"> <i class="fa fa-dashboard"></i> 
         <Link to="/dashboard/main">Dashboard</Link> 
        </li> 
        <li>Profile</li> 
       </ol> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col-lg-7"> 
       <div class="panel panel-info"> 
        <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile</div> 
        <div class="panel-body"> 
         <ul class="list-group"> 
          <li class="list-group-item">{"First Name: " + firstName}</li> 
          <li class="list-group-item">{"Last Name: " + lastName}</li> 
          <li class="list-group-item">{"Section: " + section}</li> 
          <li class="list-group-item">{"Gender: " + gender}</li> 
          <li class="list-group-item">{"Location: " + location}</li> 
         </ul> 
        </div> 
        <div class="panel-footer">Current Profile</div> 
       </div> 

       <div class="panel panel-info"> 
        <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile</div> 
        <div class="panel-body"> 
         <ul class="list-group"> 
          <li class="list-group-item">{"First Name: " + firstName}</li> 
          <li class="list-group-item">{"Last Name: " + lastName}</li> 
          <li class="list-group-item">{"Section: " + section}</li> 
          <li class="list-group-item">{"Gender: " + gender}</li> 
          <li class="list-group-item">{"Location: " + location}</li> 
         </ul> 
        </div> 
        <div class="panel-footer">Current Profile</div> 
       </div> 
      </div> 
      <div class="col-lg-4"> 
       <div class="panel panel-info"> 
        <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile Changes</div> 
        <div class="panel-body"> 
         <form action=""> 
          <div class="form-group"> 
           <label htmlFor="firstName">First Name</label> 
           <input type="firstName" class="form-control" id="firstName" placeholder={firstName} ref="firstName" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="lastName">Last Name</label> 
           <input type="lastName" class="form-control" id="lastName" placeholder={lastName} ref="lastName" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="section">Section</label> 
           <input type="section" class="form-control" id="section" placeholder={section} ref="section" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="gender">Gender</label> 
           <input type="gender" class="form-control" id="gender" placeholder={gender} ref="gender" /> 
          </div> 
          <div class="form-group"> 
           <label htmlFor="location">Location</label> 
           <input type="location" class="form-control" id="location" placeholder={location} ref="location" /> 
          </div> 
          <button class="btn btn-default" onClick={this._onProfileUpdate}>Submit</button> 
         </form> 
        </div> 
        <div class="panel-footer">Update Info</div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
+1

ありがとう、これは適切な実装とすべてです、私が探していただけで、ドキュメンテーションで何かを逃しました。 – Karan

+0

あなたの歓迎:)あなたがモバイルのためにそれらの優先順位をつけたいときに楽しいことが始まり、その後、それらを最初に並べ替える必要がありますし、pre-reorderdの方法を得るためにプッシュ/プルオフセットを使用してください。しかし、それは別の日のレッスンです。 :)乾杯 – turbopipp

-1

簡単な解決策は、ちょうど右のフロートするDIV2を設定する必要があります:

#div2 { 
    float: right; 
} 
+1

あなたはそれをsimpleと呼んでCSSを微調整しますか?あなたが何をしているのか分からず、グリッドを適切に活用していないと、それは後の問題を引き起こす可能性があります。したがって、単純なIMOよりもはるかに少ないです。グリッドはここで懸念されていたトピックであることを忘れないで – blamb

0

colsのは12まで追加する必要がある、または少なくとも彼らは、12日を表します。あなたがスペースを受け入れなければ、ラッピングの問題が発生します。 CSS調整の代わりにスタイルを使用してみてください。

http://jsfiddle.net/fn7b5fcu/4/

<div class="container-fluid"> 
    <div class="row"> 
    <div class="col-lg-12"> 
     <h1 class="page-header"> 
     Profile <small>My Info</small> 
     </h1> 

     <ol class="breadcrumb"> 
     <li class="active"> <i class="fa fa-dashboard"></i> 
      <Link to="/dashboard/main">Dashboard</Link> 
     </li> 
     <li>Profile</li> 
     </ol> 
    </div> 
    </div> 
    <div class="row"> 
    <div class="col-lg-7"> 
     <div class="panel panel-info"> 
     <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile</div> 
     <div class="panel-body"> 
      <ul class="list-group"> 
      <li class="list-group-item">{"First Name: " + firstName}</li> 
      </ul> 
     </div> 
     <div class="panel-footer">Current Profile</div> 
     </div> 
     <div class="panel panel-info"> 
     <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile Changes</div> 
     <div class="panel-body"> 
      <form action=""> 
      <div class="form-group"> 
       <label htmlFor="firstName">First Name</label> 
       <input type="firstName" class="form-control" id="firstName" placeholder={firstName} ref="firstName" /> 
       <button class="btn btn-default" onClick={this._onProfileUpdate}>Submit</button> 
      </form> 
      </div> 
      <div class="panel-footer">Update Info</div> 
     </div> 
     </div> 
    </div> 
    <div class="col-lg-4"> 
     <div class="panel panel-info"> 
     <div class="panel-heading">{firstName + " " + lastName}&#39;s Profile</div> 
     <div class="panel-body"> 
      <ul class="list-group"> 
      <li class="list-group-item">{"First Name: " + firstName}</li> 
      </ul> 
     </div> 
     <div class="panel-footer">Current Profile</div> 
     </div> 
    </div> 
    <div class="col-lg-1"></div> 
    </div> 
</div> 

だから私の経験では、これはブートストラップの適切な使用です。目標はスタイルを使用して調整を行うことで、オーバーライドを最小限に抑えることができます。必要なときにスタイルをオーバーライドするだけです。グリッドのアイデアは、結果を得るためにブートストラップスタイルを使用することです。なぜなら、colの数値が理由のためにあります。これはCSSスタイルを使用して構造を指定する方法です。

彼はcol-lgを使用しています。私はcol-lgを正しく使用する方法を示しています。 :-)

とはい@turbopippは絶対に正しい、次の2つのCOLS行く素敵な、(タグを固定)、おかげで;-)