Overflow
Overflow utilities control what happens when content is bigger than its box: overflow-auto scrolls when needed, overflow-hidden clips, overflow-visible lets content spill and overflow-scroll always shows scrollbars. overflow-x-* and overflow-y-* handle each axis separately, ideal for wide tables and side-scrolling rows.
1The four overflow values
overflow-auto, overflow-hidden, overflow-visible and overflow-scroll on boxes of fixed height.
overflow-autooverflow-hiddenoverflow-visibleoverflow-scroll<div class="row g-3 small">
<div class="col-6 col-md-3">
<code>overflow-auto</code>
<div class="overflow-auto border rounded-3 p-2 bg-body-tertiary" style="height:100px">
A modern update makes every detail in view at a fair price. Our personal training makes your work organised for teams of every size. This modern community makes customers coming back at a fair price. A calm community brings your work organised for teams of every size.
</div>
</div>
<div class="col-6 col-md-3">
<code>overflow-hidden</code>
<div class="overflow-hidden border rounded-3 p-2 bg-body-tertiary" style="height:100px">
A modern update makes every detail in view at a fair price. Our personal training makes your work organised for teams of every size. This modern community makes customers coming back at a fair price. A calm community brings your work organised for teams of every size.
</div>
</div>
<div class="col-6 col-md-3">
<code>overflow-visible</code>
<div class="overflow-visible border rounded-3 p-2 bg-body-tertiary mb-5" style="height:100px">
A modern update makes every detail in view at a fair price. Our personal training makes your work organised for teams of every size. This modern community makes customers coming back at a fair price. A calm community brings your work organised for teams of every size.
</div>
</div>
<div class="col-6 col-md-3">
<code>overflow-scroll</code>
<div class="overflow-scroll border rounded-3 p-2 bg-body-tertiary" style="height:100px">
A modern update makes every detail in view at a fair price. Our personal training makes your work organised for teams of every size. This modern community makes customers coming back at a fair price. A calm community brings your work organised for teams of every size.
</div>
</div>
</div>2Horizontal scroll only
overflow-x-auto with flex-nowrap scrolls a row of cards sideways.
<div class="d-flex flex-nowrap gap-2 overflow-x-auto pb-2">
<div class="border rounded-3 p-3 flex-shrink-0" style="width:160px">
<div class="fw-semibold small">
Yoga
</div>
</div>
<div class="border rounded-3 p-3 flex-shrink-0" style="width:160px">
<div class="fw-semibold small">
Recovery spa
</div>
</div>
<div class="border rounded-3 p-3 flex-shrink-0" style="width:160px">
<div class="fw-semibold small">
Online coaching
</div>
</div>
<div class="border rounded-3 p-3 flex-shrink-0" style="width:160px">
<div class="fw-semibold small">
Yoga
</div>
</div>
<div class="border rounded-3 p-3 flex-shrink-0" style="width:160px">
<div class="fw-semibold small">
Online coaching
</div>
</div>
</div>3Vertical scroll only
overflow-y-auto and a max-height make a scrolling list.
- Liam Rossi
- Hana Kowalski
- Priya Lindqvist
- Kai Hughes
- Finn Hughes
- Ava Fischer
<ul class="list-unstyled border rounded-3 overflow-y-auto mb-0" style="max-height:150px">
<li class="px-3 py-2 border-bottom">Liam Rossi</li>
<li class="px-3 py-2 border-bottom">Hana Kowalski</li>
<li class="px-3 py-2 border-bottom">Priya Lindqvist</li>
<li class="px-3 py-2 border-bottom">Kai Hughes</li>
<li class="px-3 py-2 border-bottom">Finn Hughes</li>
<li class="px-3 py-2">Ava Fischer</li>
</ul>4Hidden to clip rounded corners
overflow-hidden on a rounded card clips the image corners.
<div class="row g-3">
<div class="col-6">
<div class="border rounded-4">
<img src="../assets/img/photo-1.svg" alt="Not clipped" class="w-100 d-block">
<div class="p-2 small">
without
</div>
</div>
</div>
<div class="col-6">
<div class="border rounded-4 overflow-hidden">
<img src="../assets/img/photo-2.svg" alt="Clipped" class="w-100 d-block">
<div class="p-2 small">
overflow-hidden
</div>
</div>
</div>
</div>5Wide table
A wide table inside overflow-x-auto scrolls instead of breaking the page.
| Order | Customer | City | Date | Status | Total |
|---|---|---|---|---|---|
| #ORD-5445 | Isla Rossi | Cape Town | Apr 26, 2026 | On hold | $121.68 |
| #TX-7206 | Ravi Ashford | Edinburgh | Aug 30, 2026 | Completed | $133.72 |
<div class="overflow-x-auto border rounded-3">
<table class="table table-sm mb-0 text-nowrap">
<thead>
<tr>
<th scope="col">Order</th>
<th scope="col">Customer</th>
<th scope="col">City</th>
<th scope="col">Date</th>
<th scope="col">Status</th>
<th scope="col">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>#ORD-5445</td>
<td>Isla Rossi</td>
<td>Cape Town</td>
<td>Apr 26, 2026</td>
<td>On hold</td>
<td>$121.68</td>
</tr>
<tr>
<td>#TX-7206</td>
<td>Ravi Ashford</td>
<td>Edinburgh</td>
<td>Aug 30, 2026</td>
<td>Completed</td>
<td>$133.72</td>
</tr>
</tbody>
</table>
</div>6Code block that scrolls
Long lines in a pre with overflow-x-auto stay on one line.
npm run build -- --mode production --out-dir dist/brand-name-10 --base ./ --sourcemap false --emptyOutDir<pre v-pre class="overflow-x-auto bg-body-tertiary border rounded-3 p-3 small mb-0"><code>npm run build -- --mode production --out-dir dist/brand-name-10 --base ./ --sourcemap false --emptyOutDir</code></pre>7Chat window
A fixed height message area with overflow-y-auto above a fixed input.
<div class="border rounded-4 d-flex flex-column" style="height:220px;max-width:22rem">
<div class="overflow-y-auto p-3 d-flex flex-column gap-2 flex-grow-1">
<div class="align-self-start bg-body-tertiary rounded-3 px-2 py-1 small">
This secure experience connects customers coming back for teams of every size.
</div>
<div class="align-self-end text-bg-primary rounded-3 px-2 py-1 small">
The new flexible plans gives customers coming back without extra tools.
</div>
<div class="align-self-start bg-body-tertiary rounded-3 px-2 py-1 small">
The new certified coaches helps customers coming back without extra tools.
</div>
<div class="align-self-end text-bg-primary rounded-3 px-2 py-1 small">
The new modern equipment keeps your work organised in just a few clicks.
</div>
</div>
<div class="border-top p-2">
<label class="visually-hidden" for="ut-msg-1253">Message</label>
<input id="ut-msg-1253" type="text" class="form-control form-control-sm" placeholder="Type a message">
</div>
</div>8Scrollable tab strip
Pills in a flex-nowrap row with overflow-x-auto for many categories.
<nav class="d-flex flex-nowrap gap-2 overflow-x-auto pb-1" aria-label="Categories">
<a href="#" class="btn btn-sm btn-primary rounded-pill text-nowrap">All</a> <a href="#" class="btn btn-sm btn-light border rounded-pill text-nowrap">Yoga</a> <a href="#" class="btn btn-sm btn-light border rounded-pill text-nowrap">case study</a> <a href="#" class="btn btn-sm btn-light border rounded-pill text-nowrap">Yoga</a> <a href="#" class="btn btn-sm btn-light border rounded-pill text-nowrap">tips</a> <a href="#" class="btn btn-sm btn-light border rounded-pill text-nowrap">story</a> <a href="#" class="btn btn-sm btn-light border rounded-pill text-nowrap">elegant</a>
</nav>9Terms box
A long text inside a bordered box with overflow-auto, like a licence agreement.
Terms of use
The new progress tracking brings your work organised without the usual hassle. This friendly dashboard helps decisions quicker and clearer in just a few clicks. A bright project keeps results you can measure from the very first day.
The new flexible plans lets the whole team on the same page at a fair price. A simple story connects you focused on what matters without the usual hassle. The new certified coaches shows the whole team on the same page at a fair price.
A practical dashboard gives new ideas to life in just a few clicks. This powerful idea makes your work organised in just a few clicks. A fast launch turns you focused on what matters all year round.
<div class="border rounded-3 p-3 overflow-auto small bg-body-tertiary" style="height:130px">
<h3 class="h6">Terms of use</h3>
<p>The new progress tracking brings your work organised without the usual hassle. This friendly dashboard helps decisions quicker and clearer in just a few clicks. A bright project keeps results you can measure from the very first day.</p>
<p>The new flexible plans lets the whole team on the same page at a fair price. A simple story connects you focused on what matters without the usual hassle. The new certified coaches shows the whole team on the same page at a fair price.</p>
<p class="mb-0">A practical dashboard gives new ideas to life in just a few clicks. This powerful idea makes your work organised in just a few clicks. A fast launch turns you focused on what matters all year round.</p>
</div>10Visible overflow for a badge
overflow-visible lets a badge stick out of a box that would otherwise clip it.
<div class="d-flex gap-4 pt-2">
<div class="position-relative overflow-hidden border rounded-3 p-3 small">
overflow-hidden<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill text-bg-danger">5</span>
</div>
<div class="position-relative overflow-visible border rounded-3 p-3 small">
overflow-visible<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill text-bg-danger">2</span>
</div>
</div>11Hidden overflow for a cropped title
overflow-hidden with a fixed height clips long text to two lines worth of space.
<div class="border rounded-3 p-3" style="max-width:20rem">
<div class="overflow-hidden fw-semibold lh-sm" style="height:2.5em">
Your fitness journey starts now - Our personal training brings projects moving forward wherever you are.
</div>
<div class="small text-body-secondary mt-1">
Jan 9, 2026
</div>
</div>12Sidebar that scrolls separately
The nav column scrolls with overflow-y-auto while the content stays put.
<div class="d-flex border rounded-3" style="height:180px">
<nav class="overflow-y-auto border-end p-2 small flex-shrink-0" style="width:130px" aria-label="Chapters">
<a href="#" class="d-block py-1">Intro</a><a href="#" class="d-block py-1">Setup</a><a href="#" class="d-block py-1">Layout</a> <a href="#" class="d-block py-1">Colours</a><a href="#" class="d-block py-1">Forms</a><a href="#" class="d-block py-1">Tables</a> <a href="#" class="d-block py-1">Charts</a><a href="#" class="d-block py-1">Deploy</a>
</nav>
<div class="p-3 small">
This fast release gives decisions quicker and clearer on any device. This secure goal lets customers coming back without extra tools.
</div>
</div>13Image pan area
A large image in an overflow-auto box can be scrolled in both directions.
<div class="overflow-auto border rounded-3" style="height:160px;max-width:26rem">
<img src="../assets/img/wide-3.svg" alt="What's new in cardio" width="900" height="394" class="d-block">
</div>14Kanban columns
Columns side by side in overflow-x-auto, each column scrolls with overflow-y-auto.
<div class="d-flex gap-2 overflow-x-auto pb-1">
<div class="bg-body-tertiary rounded-3 p-2 flex-shrink-0 overflow-y-auto" style="width:170px;max-height:180px">
<div class="small fw-semibold mb-2">
To do
</div>
<div class="bg-body border rounded-2 p-2 small mb-2">
Recovery spa
</div>
<div class="bg-body border rounded-2 p-2 small mb-2">
Recovery spa
</div>
<div class="bg-body border rounded-2 p-2 small">
Recovery spa
</div>
</div>
<div class="bg-body-tertiary rounded-3 p-2 flex-shrink-0 overflow-y-auto" style="width:170px;max-height:180px">
<div class="small fw-semibold mb-2">
Doing
</div>
<div class="bg-body border rounded-2 p-2 small">
Group classes
</div>
</div>
<div class="bg-body-tertiary rounded-3 p-2 flex-shrink-0 overflow-y-auto" style="width:170px;max-height:180px">
<div class="small fw-semibold mb-2">
Done
</div>
<div class="bg-body border rounded-2 p-2 small">
Nutrition plans
</div>
</div>
</div>15Overflow-x hidden
overflow-x-hidden hides content that slides in from the side, like an off-screen panel.
<div class="position-relative overflow-x-hidden border rounded-3 p-3" style="height:110px">
<div class="small">
A secure routine turns every detail in view on any device.
</div>
<div class="position-absolute top-0 bg-primary-subtle h-100 p-2 small" style="left:90%;width:200px">
Panel partly off the edge
</div>
</div>16Overflow-y scroll always
overflow-y-scroll always shows the vertical scrollbar, so the width never jumps.
<div class="overflow-y-scroll border rounded-3 p-2 small" style="height:90px">
A fast routine brings new ideas to life for teams of every size.
</div>17Notification panel
A dropdown-like panel with header, scrolling body and footer.
<div class="border rounded-3 shadow-sm d-flex flex-column" style="max-width:20rem;height:220px">
<div class="px-3 py-2 border-bottom fw-semibold small">
Notifications
</div>
<div class="overflow-y-auto flex-grow-1">
<div class="px-3 py-2 border-bottom small">
This reliable goal turns every detail in view at a fair price.
</div>
<div class="px-3 py-2 border-bottom small">
A modern community connects customers coming back all year round.
</div>
<div class="px-3 py-2 border-bottom small">
The new modern equipment guides your work organised from the very first day.
</div>
<div class="px-3 py-2 small">
Our recovery spa helps every detail in view without extra tools.
</div>
</div>
<a href="#" class="px-3 py-2 border-top small text-center">View all</a>
</div>18Clip a decorative shape
A big circle partly outside its panel is cut off by overflow-hidden.
Move more, stress less
The new flexible plans turns complex tasks into simple steps all year round.
<div class="position-relative overflow-hidden text-bg-primary rounded-4 p-4">
<div class="position-absolute bg-white bg-opacity-25 rounded-circle" style="width:180px;height:180px;right:-60px;top:-60px">
</div>
<h3 class="h5 position-relative">Move more, stress less</h3>
<p class="small mb-0 position-relative">The new flexible plans turns complex tasks into simple steps all year round.</p>
</div>19Long word handling
overflow-hidden plus text-truncate versus text-break for an unbreakable string.
<div class="row g-2 small">
<div class="col-sm-6">
<div class="border rounded-3 p-2 text-truncate">
downloads/brand-name-10/assets/very-long-file-name-without-any-spaces-at-all.zip
</div>
</div>
<div class="col-sm-6">
<div class="border rounded-3 p-2 text-break">
downloads/brand-name-10/assets/very-long-file-name-without-any-spaces-at-all.zip
</div>
</div>
</div>20Responsive table wrapper
table-responsive is the helper made of overflow-x-auto for tables.
| Plan | Users | Storage | Support | API | Price |
|---|---|---|---|---|---|
| Pro | 29 | 307 GB | Email and chat | Unlimited | $87.13 |
<div class="table-responsive border rounded-3">
<table class="table table-sm mb-0 text-nowrap">
<thead>
<tr>
<th scope="col">Plan</th>
<th scope="col">Users</th>
<th scope="col">Storage</th>
<th scope="col">Support</th>
<th scope="col">API</th>
<th scope="col">Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pro</td>
<td>29</td>
<td>307 GB</td>
<td>Email and chat</td>
<td>Unlimited</td>
<td>$87.13</td>
</tr>
</tbody>
</table>
</div>