✦ A decade of Canvas craft, now driven by AI, describe it, watch it build live.Start building
Bootstrap 5Layout

Bootstrap 5 Split Content Section

A Split Content Section divides a page row into two distinct columns, pairing text or headings on one side with an image, video, or secondary content block on the other. It creates visual balance and guides the reader through information in a structured, left-right layout. Use it for feature explanations, product highlights, about sections, and any content that benefits from a direct image-to-text relationship.

Primary Class

.row .col-md-6

Common Use Cases

  • →A SaaS product page showing a dashboard screenshot alongside a bullet list of core features, letting prospects visually confirm what the copy describes.
  • →An e-commerce brand story section pairing a founder photograph with a short origin paragraph and a link to the full about page.
  • →A services page where each service block alternates text-left and image-right to create rhythm and prevent the page from feeling monotonous.
  • →A nonprofit landing page placing donation impact statistics on the left and an emotional photograph of beneficiaries on the right to reinforce the call to action.

Variants & Classes

VariantDescription
Image Left, Text RightPlaces a full-height or auto-height image in the left column and a text block with heading, body copy, and optional CTA in the right column.
Text Left, Image RightMirrors the default layout so the text column leads and the image follows, which suits left-to-right reading flow for introductory content.
Equal Split with Background ColorApplies contrasting background colours to each column using utility classes to create a bold two-tone visual split.
Asymmetric Split (2/3 + 1/3)Uses unequal column widths to give the primary content more visual weight while the secondary element acts as a supporting accent.
Stacked on MobileCollapses the two columns into a single vertical stack on small screens using responsive column classes, preserving readability on phones.
Vertically Centered SplitCentres content vertically within each column so neither side appears misaligned when one side is taller than the other.

Code Example

<section class="py-5">
  <div class="container">
    <div class="row align-items-center g-5">

      <!-- Image column -->
      <div class="col-12 col-md-6">
        <img
          src="/assets/img/dashboard-preview.png"
          alt="Product dashboard showing real-time analytics"
          class="img-fluid rounded shadow-sm"
        />
      </div>

      <!-- Text column -->
      <div class="col-12 col-md-6">
        <span class="text-primary fw-semibold text-uppercase small">Analytics</span>
        <h2 class="mt-2 mb-3 fw-bold">Understand your data in real time</h2>
        <p class="text-secondary mb-4">
          Our dashboard consolidates every metric your team tracks into a single
          view. No more switching between tools or waiting for Monday reports.
        </p>
        <ul class="list-unstyled mb-4">
          <li class="mb-2"><i class="bi bi-check-circle-fill text-primary me-2"></i>Live data refresh every 30 seconds</li>
          <li class="mb-2"><i class="bi bi-check-circle-fill text-primary me-2"></i>Custom KPI widgets per team</li>
          <li class="mb-2"><i class="bi bi-check-circle-fill text-primary me-2"></i>CSV and API export included on all plans</li>
        </ul>
        <a href="/features" class="btn btn-primary px-4">Explore features</a>
      </div>

    </div>
  </div>
</section>

Live Examples

Basic Split Content Section

Example 1

Canvas Framework Variants

The Canvas template extends Bootstrap 5 with 1,658+ component variants. Generate any of these using Canvas Builder:

  • ✓Canvas Builder renders split sections with brand-matched heading colours and button styles automatically applied to the text column, keeping the output consistent with the site's colour scheme without manual overrides.
  • ✓When a full-bleed image option is selected, Canvas Builder outputs a column with a CSS background-image and cover sizing rather than an img tag, giving a flush edge-to-edge effect that plain Bootstrap columns do not produce by default.
  • ✓Canvas Builder adds a responsive order swap by default on asymmetric splits, ensuring the image always appears below the text on mobile rather than above it, which preserves the narrative flow the layout was designed for.

Best Practices

Alternate the layout direction between sections

Add the Bootstrap order utilities (order-md-1 and order-md-2) on every other split section so the image and text sides swap. This creates a natural zigzag rhythm that keeps users reading down the page instead of skimming past repeated patterns.

Use g-0 instead of gutter classes for full-bleed splits

When you want columns to sit flush against each other with no gap, apply g-0 to the row and handle inner spacing with padding utilities on the columns themselves. This avoids the unwanted gap that default gutters produce in tight two-tone layouts.

Set a min-height on image columns that use background-image

If you replace the img tag with a CSS background-image on the column, add a min-height (such as min-height: 400px) so the column does not collapse to zero height on mobile when it stacks below the text column.

Control vertical alignment explicitly with align-items

Use align-items-center on the row for equal-height appearance, or align-items-start when the image column is deliberately taller and you want the text to read from the top rather than floating in the middle.

FAQ

How do I make the image fill the full height of the split section?
Remove the img tag and instead set the column div to have a CSS background-image with background-size: cover and background-position: center. Add h-100 to the column and ensure the parent row has a defined height or min-height. Bootstrap does not provide a built-in class for this, so a small amount of custom CSS is needed. An example: .split-img-col { background-image: url('/path/to/image.jpg'); background-size: cover; background-position: center; min-height: 450px; }
How do I reverse the column order on mobile without affecting the desktop layout?
Apply order-2 order-md-1 to the column you want first on desktop and order-1 order-md-2 to the column you want second. On screens below the md breakpoint, Bootstrap reads the order classes without the -md- infix and reorders the columns accordingly. This lets the image appear below the text on mobile, which is usually preferable so users read the heading before seeing the visual.
How does Canvas Builder generate a Split Content Section?
When you describe a two-column feature or about section in the Canvas Builder prompt, it outputs a full section block using the row and col-12 col-md-6 structure with your brand colours pre-applied to headings and buttons. It also handles the responsive order swap automatically and adds the correct semantic HTML such as section tags and alt attributes on images, so the generated code is production-ready without manual adjustments.