Bird
Raised Fist0
Bootsrapmarkup~10 mins

Mixing column widths in Bootsrap - Browser Rendering Trace

Choose your learning style10 modes available
Render Flow - Mixing column widths
Load HTML with Bootstrap classes
↓
Parse Bootstrap CSS
↓
Identify .row container
↓
Identify .col-* classes
↓
Calculate column widths based on grid fractions
↓
Apply widths and gutters
↓
Render columns side by side
The browser loads the HTML and Bootstrap CSS, then calculates each column's width based on the grid classes like col-4 or col-8, applying gutters and placing columns side by side within the row container.
Render Steps - 3 Steps
Code Added:<div class="container"> <div class="row"> <div>Column 1</div> <div>Column 2</div> </div> </div>
Before
[Empty page]
→
After
[Container]
  [Row]
    [Column 1]
    [Column 2]
Added container, row, and two columns with no width classes, so columns stack vertically by default.
🔧 Browser Action:Creates DOM nodes and applies default block layout
Code Sample
Two columns side by side: the first takes 4/12 of the row width, the second takes 8/12, showing mixed column widths.
Bootsrap
<div class="container">
  <div class="row">
    <div class="col-4">Column 1</div>
    <div class="col-8">Column 2</div>
  </div>
</div>
Render Quiz - 3 Questions
Test your understanding
After applying step 2, how are the columns arranged visually?
ABoth columns stacked vertically with no width set
BBoth columns side by side with equal width
CFirst column takes 4/12 width on top, second column full width below
DFirst column takes 8/12 width, second column 4/12 width
Common Confusions - 2 Topics
Why do columns stack vertically instead of side by side?
Without col-* classes, columns behave as block elements stacking vertically. Adding col-* classes applies flexbox widths making them side by side (see render_steps 1 and 2).
💡 Always add col-* classes inside a .row to get horizontal columns.
Why doesn't col-4 plus col-8 fill the entire row perfectly?
Bootstrap grid uses 12 parts, so col-4 plus col-8 equals full width. Gutters (spacing) between columns reduce visible width slightly but columns still fill row (see render_steps 3).
💡 Column widths add up to 12 for full row width; gutters add spacing between columns.
Property Reference
ClassWidth FractionVisual EffectCommon Use
col-44/12Column takes one-third of row widthSmaller column
col-88/12Column takes two-thirds of row widthLarger column
colAutoColumns share equal widthEqual columns
rowContainer for columnsCreates horizontal flex containerLayout row
Concept Snapshot
Bootstrap grid uses 12 parts per row. Use col-* classes to set column widths (e.g., col-4 is 4/12). Columns inside .row sit side by side using flexbox. Without col-* classes, columns stack vertically. Gutters add spacing between columns visually.

Practice

(1/5)
1. What does the class col-6 mean in Bootstrap's grid system?
easy
A. The column is hidden on screens smaller than 6 inches.
B. The column takes up 6 pixels width.
C. The column takes up half the row width (6 out of 12 parts).
D. The column is fixed to 6 rem units wide.

Solution

  1. Step 1: Understand Bootstrap grid basics

    Bootstrap divides a row into 12 equal parts for layout.
  2. Step 2: Interpret col-6 meaning

    The class col-6 means the column uses 6 of those 12 parts, which is half the row width.
  3. Final Answer:

    The column takes up half the row width (6 out of 12 parts). -> Option C
  4. Quick Check:

    12 parts total, 6 parts used = half width [OK]
Hint: Remember: col-6 means 6/12 width, or half the row [OK]
Common Mistakes:
  • Thinking col-6 means 6 pixels wide
  • Confusing col-6 with fixed width units
  • Assuming col-6 hides the column
2. Which of the following is the correct way to make a column take 4 parts on medium screens and 12 parts on small screens?
easy
A. <div class='col-12 col-md-4'></div>
B. <div class='col-lg-4 col-12'></div>
C. <div class='col-4 col-md-12'></div>
D. <div class='col-md-12 col-4'></div>

Solution

  1. Step 1: Understand responsive classes order

    Bootstrap applies classes from smallest to largest screen sizes. The class without breakpoint applies to all sizes unless overridden.
  2. Step 2: Choose correct class order

    To have 12 parts on small screens and 4 parts on medium and up, use col-12 for small and col-md-4 for medium screens.
  3. Final Answer:

    <div class='col-12 col-md-4'></div> -> Option A
  4. Quick Check:

    Small = col-12, Medium = col-md-4 [OK]
Hint: Put smaller screen class first, then medium with breakpoint [OK]
Common Mistakes:
  • Reversing the order of classes
  • Using wrong breakpoint prefixes
  • Assuming col-4 applies to small screens
3. Given this HTML snippet:
<div class='row'>
  <div class='col-3'>A</div>
  <div class='col-6'>B</div>
  <div class='col-3'>C</div>
</div>

How will the columns appear on a large screen?
medium
A. Three columns stacked vertically, each full width
B. Three columns: A (25%), B (50%), C (25%) width in one row
C. Two columns: A and B share one row, C on next row
D. Columns A and C are hidden, only B shows

Solution

  1. Step 1: Add column widths

    Columns have classes col-3, col-6, and col-3, which add up to 3+6+3=12 parts.
  2. Step 2: Understand layout on large screens

    Since total is 12, all columns fit in one row side by side with widths 25%, 50%, and 25% respectively.
  3. Final Answer:

    Three columns: A (25%), B (50%), C (25%) width in one row -> Option B
  4. Quick Check:

    3+6+3=12 parts, fits in one row [OK]
Hint: Sum col-* numbers; if 12, columns share one row [OK]
Common Mistakes:
  • Thinking columns stack vertically by default
  • Assuming columns overflow to next row
  • Confusing col-3 with 3 pixels
4. Identify the error in this Bootstrap code:
<div class='row'>
  <div class='col-5'>X</div>
  <div class='col-8'>Y</div>
</div>
medium
A. The total column width exceeds 12, causing layout issues.
B. The class names should be col-6 and col-6 instead.
C. The row class is missing a container wrapper.
D. The columns need to use col-md-* classes instead.

Solution

  1. Step 1: Calculate total column width

    Adding col-5 and col-8 gives 5 + 8 = 13, which is more than 12.
  2. Step 2: Understand Bootstrap grid limits

    Bootstrap rows can only hold 12 parts per row. Exceeding 12 causes the second column to wrap or break layout.
  3. Final Answer:

    The total column width exceeds 12, causing layout issues. -> Option A
  4. Quick Check:

    5 + 8 = 13 > 12 breaks grid [OK]
Hint: Sum col-* numbers; must not exceed 12 per row [OK]
Common Mistakes:
  • Ignoring total width exceeding 12
  • Thinking col-5 and col-8 fit in one row
  • Assuming container is mandatory for row
5. You want a layout with three columns on large screens: left column 3 parts, middle column 6 parts, right column 3 parts. On small screens, all columns should stack full width. Which Bootstrap classes achieve this?
hard
A. <div class='col-3 col-lg-12'> for left and right, <div class='col-6 col-lg-12'> for middle
B. <div class='col-xl-3 col-12'> for left and right, <div class='col-xl-6 col-12'> for middle
C. <div class='col-lg-12 col-3'> for left and right, <div class='col-lg-12 col-6'> for middle
D. <div class='col-12 col-lg-3'> for left and right, <div class='col-12 col-lg-6'> for middle

Solution

  1. Step 1: Define small screen behavior

    On small screens, columns stack full width, so use col-12 for all columns.
  2. Step 2: Define large screen behavior

    On large screens, left and right columns take 3 parts (col-lg-3), middle takes 6 parts (col-lg-6).
  3. Step 3: Combine classes correctly

    Use col-12 col-lg-3 for left and right, and col-12 col-lg-6 for middle to apply small screen first, then large screen overrides.
  4. Final Answer:

    <div class='col-12 col-lg-3'> for left and right, <div class='col-12 col-lg-6'> for middle -> Option D
  5. Quick Check:

    Small = col-12, Large = col-lg-3 or col-lg-6 [OK]
Hint: Write small screen class first, then large screen class [OK]
Common Mistakes:
  • Reversing class order causing wrong widths
  • Using col-3 for small screens instead of col-12
  • Mixing breakpoint prefixes incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard