9

I have divided my Bootstrap grid columns following way.

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">A</div>
        <div class="col-md-6">
            <div class="col-md-12">B1</div>
            <div class="col-md-12">
                <div class="col-md-8">B1.1</div>
                <div class="col-md-4">B1.2</div>
            </div>
            <div class="col-md-12">
                <div class="col-md-10">B2.1</div>
                <div class="col-md-2">B2.2</div>
            </div>
        </div>
        <div class="col-md-3">C</div>
    </div>
</div>

Visual Layout of this code

Please find below of visual layout of this code.

Is my approach of dividing grid columns correct or wrong?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
CodeMan
  • 1,941
  • 6
  • 26
  • 44
  • rule of thumb: bootstrap columns should never be nested directly inside a column, you always need to create a row – Matt Wilko Dec 15 '15 at 11:08
  • I would recommend studying the [foundations of the Bootstrap grid system](http://getbootstrap.com/css/#grid). – totymedli Dec 15 '15 at 13:14

4 Answers4

10

Always wrap your column inside a row to avoid any css break when resizing/or something like that

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">A </div>

        <div class="col-md-6">B
            <div class="row">
                <div class="col-md-12">B1</div>
            </div>
            <div class="row">
                <div class="col-md-8">B1.1</div>
                <div class="col-md-4">B1.2</div>
            </div>
            <div class="row">
                <div class="col-md-10">B2.1</div>
                <div class="col-md-2">B2.2</div>
            </div>
        </div>

        <div class="col-md-3">C </div>
    </div>
</div>
MarcoZen
  • 1,556
  • 22
  • 27
Sanjeev
  • 4,255
  • 3
  • 28
  • 37
  • The code above seems to be missing the div container tag. Its there though wehn you edit the answer. So the code above is correct. – MarcoZen Jul 02 '17 at 08:07
5

You should add row divs for children inside B.

<div class="container-fluid">

    <div class="row">
        <div class="col-md-3">
        A
        </div>


        <div class="col-md-6">
            <div class="row">
                <div class="col-md-12">B1</div>
            </div>

            <div class="row">
                <div class="col-md-8">B1.1</div>
                <div class="col-md-4">B1.2</div>
            </div>

            <div class="row">
                <div class="col-md-10">B2.1</div>
                <div class="col-md-2">B2.2</div>
            </div>
        </div>

        <div class="col-md-3">
        C
        </div>
    </div>

</div>
mrkre
  • 1,548
  • 15
  • 43
4

Just add an row div inside B for every line of columns inside: b, b1.1, b1.2 and b2.1, b2.2. This should help.

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">
        A
        </div>


        <div class="col-md-6">
            <div class='row'>
                  <div class="col-md-12">B1</div>
            </div>
            <div class='row'>
                <div class="col-md-8">B1.1</div>
                <div class="col-md-4">B1.2</div>
            </div>
            <div class='row'>
                <div class="col-md-10">B2.1</div>
                <div class="col-md-2">B2.2</div>
            </div>
        </div>

        <div class="col-md-3">
        C
        </div>
    </div>

</div>
deem
  • 1,252
  • 1
  • 19
  • 38
2

You should always wrap your columns inside the row for better layout without spacing in the columns or clearfix for layout with spacing:

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">A</div>
        <div class="col-md-6">
            <div class="clearfix">
               <div class="col-md-12">B1</div>
            </div>
            <div class="clearfix">
               <div class="col-md-12">
                   <div class="clearfix">
                       <div class="col-md-8">B1.1</div>
                       <div class="col-md-4">B1.2</div>
                   </div>
               </div>
            </div>
            <div class="clearfix">
            <div class="col-md-12">
                <div class="clearfix">
                   <div class="col-md-10">B2.1</div>
                   <div class="col-md-2">B2.2</div>
                </div>
            </div>
            </div>
        </div>
        <div class="col-md-3">C</div>
    </div>
</div>

You might be interested to see this Q/A, Remove padding from columns.

Community
  • 1
  • 1
Bhojendra Rauniyar
  • 83,432
  • 35
  • 168
  • 231