Position
Position helpers pin an element to the top or bottom (fixed-top, fixed-bottom) or keep it in view while its container scrolls (sticky-top, sticky-bottom and the responsive sticky-*-top variants). Every example runs inside its own scrollable frame, so scroll the frames to watch the bars stay put.
1Sticky page header
sticky-top keeps a section header visible while the content below it scrolls. Scroll the frame.
Every donation is tax-deductible, and receipts arrive by email instantly.
We listen first, then build a plan around what you actually need.
Ninety cents of every dollar goes directly to the projects you support.
Leave a gift in your will and help future generations.
A school kit costs less than a cinema ticket and lasts a whole year.
Every detail is handled by people who care about getting it right.
We keep things simple, so you can focus on what matters to you.
Our annual report is independently audited and published in full.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Sticky header demo">
<header class="sticky-top bg-body border-bottom px-3 py-2 fw-semibold">
<i class="bi bi-journal-text" aria-hidden="true"></i> Five things we learned this year
</header>
<div class="p-3">
<p class="small mb-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</p>
<p class="small mb-3">Leave a gift in your will and help future generations.</p>
<p class="small mb-3">A school kit costs less than a cinema ticket and lasts a whole year.</p>
<p class="small mb-3">Every detail is handled by people who care about getting it right.</p>
<p class="small mb-3">We keep things simple, so you can focus on what matters to you.</p>
<p class="small mb-3">Our annual report is independently audited and published in full.</p>
</div>
</div>
</div>2Sticky save bar
sticky-bottom keeps form actions at the bottom edge of the scrolling area.
Our team has done this many times, so you never have to guess.
Friendly people answer your questions quickly, by phone, chat or email.
We listen first, then build a plan around what you actually need.
Ninety cents of every dollar goes directly to the projects you support.
We measure success by how many donors come back and tell their friends.
Companies can match employee donations and double their impact.
Start in minutes and get help from a real person whenever you need it.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Sticky save bar demo">
<div class="p-3">
<p class="small mb-3">Our team has done this many times, so you never have to guess.</p>
<p class="small mb-3">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</p>
<p class="small mb-3">We measure success by how many donors come back and tell their friends.</p>
<p class="small mb-3">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">Start in minutes and get help from a real person whenever you need it.</p>
</div>
<div class="sticky-bottom bg-body-tertiary border-top p-2 d-flex justify-content-end gap-2">
<button type="button" class="btn btn-sm btn-light">Discard</button>
<button type="button" class="btn btn-sm btn-primary">Save changes</button>
</div>
</div>
</div>3Sticky table header
Put sticky-top on the thead so the column names stay visible in a long table.
| Name | Role | City |
|---|---|---|
| Jonah Harlow | Customer Success | Vancouver |
| Maya Patel | Project Manager | Denver |
| Mia Haddad | Product Designer | Singapore |
| Lucas Silva | Customer Success | Montreal |
| Arjun Rossi | QA Engineer | Edinburgh |
| Nora Mensah | Frontend Engineer | Vancouver |
| Aria Kowalski | Frontend Engineer | Prague |
| Chloe Carter | QA Engineer | Cape Town |
| Ava Larsen | Product Designer | Seoul |
| Zoe Ashford | Backend Engineer | Denver |
| Leo Morgan | QA Engineer | Copenhagen |
| Ravi Moreau | Product Designer | Vancouver |
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Team table">
<table class="table table-sm table-striped mb-0">
<thead class="sticky-top">
<tr>
<th scope="col">Name</th>
<th scope="col">Role</th>
<th scope="col">City</th>
</tr>
</thead>
<tbody>
<tr>
<td>Jonah Harlow</td>
<td>Customer Success</td>
<td>Vancouver</td>
</tr>
<tr>
<td>Maya Patel</td>
<td>Project Manager</td>
<td>Denver</td>
</tr>
<tr>
<td>Mia Haddad</td>
<td>Product Designer</td>
<td>Singapore</td>
</tr>
<tr>
<td>Lucas Silva</td>
<td>Customer Success</td>
<td>Montreal</td>
</tr>
<tr>
<td>Arjun Rossi</td>
<td>QA Engineer</td>
<td>Edinburgh</td>
</tr>
<tr>
<td>Nora Mensah</td>
<td>Frontend Engineer</td>
<td>Vancouver</td>
</tr>
<tr>
<td>Aria Kowalski</td>
<td>Frontend Engineer</td>
<td>Prague</td>
</tr>
<tr>
<td>Chloe Carter</td>
<td>QA Engineer</td>
<td>Cape Town</td>
</tr>
<tr>
<td>Ava Larsen</td>
<td>Product Designer</td>
<td>Seoul</td>
</tr>
<tr>
<td>Zoe Ashford</td>
<td>Backend Engineer</td>
<td>Denver</td>
</tr>
<tr>
<td>Leo Morgan</td>
<td>QA Engineer</td>
<td>Copenhagen</td>
</tr>
<tr>
<td>Ravi Moreau</td>
<td>Product Designer</td>
<td>Vancouver</td>
</tr>
</tbody>
</table>
</div>
</div>4Alphabet section headings
Each letter heading is sticky inside its own section, so the next letter pushes the previous one away.
A
- Ashford, Kai
B
- Brennan, Arjun
- Brennan, Hana
D
- Delgado, Ruby
- Duarte, Felix
- Duarte, Nadia
F
- Fischer, Lucas
H
- Haddad, Ella
- Hughes, Mason
- Hughes, Owen
I
- Ibrahim, Freya
L
- Lindqvist, Priya
M
- Moreau, Theo
N
- Nguyen, Kenji
- Novak, Ethan
- Novak, Sofia
O
- Okafor, Lea
- Okafor, Liam
P
- Patel, Ivy
Q
- Quinn, Isla
- Quinn, Luna
S
- Sato, Samir
T
- Tanaka, Finn
V
- Varga, Omar
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Contacts">
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">A</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Ashford, Kai</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">B</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Brennan, Arjun</li>
<li class="py-1">Brennan, Hana</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">D</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Delgado, Ruby</li>
<li class="py-1">Duarte, Felix</li>
<li class="py-1">Duarte, Nadia</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">F</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Fischer, Lucas</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">H</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Haddad, Ella</li>
<li class="py-1">Hughes, Mason</li>
<li class="py-1">Hughes, Owen</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">I</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Ibrahim, Freya</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">L</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Lindqvist, Priya</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">M</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Moreau, Theo</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">N</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Nguyen, Kenji</li>
<li class="py-1">Novak, Ethan</li>
<li class="py-1">Novak, Sofia</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">O</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Okafor, Lea</li>
<li class="py-1">Okafor, Liam</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">P</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Patel, Ivy</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">Q</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Quinn, Isla</li>
<li class="py-1">Quinn, Luna</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">S</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Sato, Samir</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">T</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Tanaka, Finn</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">V</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Varga, Omar</li>
</ul>
</section>
</div>
</div>5Sticky sidebar
A column with a sticky-top block stays in view next to a long content column.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
Volunteers give their time in schools, shelters and food banks every week.
We have helped more than two hundred thousand people since we started.
Clean water wells are built with and maintained by local communities.
Clear prices, honest advice and no surprises along the way.
Thousands of donors already trust us, and we work hard to keep it that way.
Local partners know their communities and make sure help arrives where it matters.
A school kit costs less than a cinema ticket and lasts a whole year.
Every donation is tax-deductible, and receipts arrive by email instantly.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Article with sidebar">
<div class="row g-0">
<div class="col-4 border-end">
<nav class="sticky-top p-2 small" aria-label="On this page">
<div class="fw-semibold mb-1">
On this page
</div>
<a class="d-block" href="#">Overview</a><a class="d-block" href="#">Setup</a><a class="d-block" href="#">FAQ</a>
</nav>
</div>
<div class="col-8 p-3">
<p class="small mb-3">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</p>
<p class="small mb-3">Volunteers give their time in schools, shelters and food banks every week.</p>
<p class="small mb-3">We have helped more than two hundred thousand people since we started.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</p>
<p class="small mb-3">Clear prices, honest advice and no surprises along the way.</p>
<p class="small mb-3">Thousands of donors already trust us, and we work hard to keep it that way.</p>
<p class="small mb-3">Local partners know their communities and make sure help arrives where it matters.</p>
<p class="small mb-3">A school kit costs less than a cinema ticket and lasts a whole year.</p>
<p class="small mb-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
</div>
</div>
</div>
</div>6Responsive sticky (md and up)
sticky-md-top only sticks from the md breakpoint; on phones the bar scrolls away with the page.
You receive photos and updates showing exactly what your donation achieved.
Leave a gift in your will and help future generations.
Thousands of donors already trust us, and we work hard to keep it that way.
Ninety cents of every dollar goes directly to the projects you support.
Clean water wells are built with and maintained by local communities.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
We listen first, then build a plan around what you actually need.
A school kit costs less than a cinema ticket and lasts a whole year.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Responsive sticky demo">
<div class="sticky-md-top text-bg-primary px-3 py-2 small">
<i class="bi bi-phone" aria-hidden="true"></i> Sticky from md, normal flow on small screens
</div>
<div class="p-3">
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</p>
<p class="small mb-3">Leave a gift in your will and help future generations.</p>
<p class="small mb-3">Thousands of donors already trust us, and we work hard to keep it that way.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</p>
<p class="small mb-3">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</p>
<p class="small mb-3">A school kit costs less than a cinema ticket and lasts a whole year.</p>
</div>
</div>
</div>7Fixed-top navbar
fixed-top pins a navbar to the top edge; the frame acts as the viewport, so the bar stays inside the example.
Every detail is handled by people who care about getting it right.
Volunteers give their time in schools, shelters and food banks every week.
Companies can match employee donations and double their impact.
Every donation is tax-deductible, and receipts arrive by email instantly.
Leave a gift in your will and help future generations.
Clear prices, honest advice and no surprises along the way.
We have helped more than two hundred thousand people since we started.
Local partners know their communities and make sure help arrives where it matters.
<div class="hp-pos">
<nav class="navbar fixed-top bg-body border-bottom px-3 py-2" aria-label="Demo">
<span class="navbar-brand mb-0 h6"><i class="bi bi-lightning-charge" aria-hidden="true"></i> Bloom Kit</span>
<button type="button" class="btn btn-sm btn-outline-primary">Sign up</button>
</nav>
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Fixed navbar demo">
<div class="px-3 pb-3" style="padding-top:4rem">
<p class="small mb-3">Every detail is handled by people who care about getting it right.</p>
<p class="small mb-3">Volunteers give their time in schools, shelters and food banks every week.</p>
<p class="small mb-3">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
<p class="small mb-3">Leave a gift in your will and help future generations.</p>
<p class="small mb-3">Clear prices, honest advice and no surprises along the way.</p>
<p class="small mb-3">We have helped more than two hundred thousand people since we started.</p>
<p class="small mb-3">Local partners know their communities and make sure help arrives where it matters.</p>
</div>
</div>
</div>8Fixed-bottom tab bar
A mobile style tab bar with fixed-bottom; content gets bottom padding so nothing hides behind it.
Our team has done this many times, so you never have to guess.
We measure success by how many donors come back and tell their friends.
Our annual report is independently audited and published in full.
Start in minutes and get help from a real person whenever you need it.
You receive photos and updates showing exactly what your donation achieved.
Friendly people answer your questions quickly, by phone, chat or email.
We keep things simple, so you can focus on what matters to you.
Every donation is tax-deductible, and receipts arrive by email instantly.
<div class="hp-pos">
<nav class="fixed-bottom d-flex bg-body border-top" aria-label="App">
<a href="#" class="flex-fill text-center small py-2 text-decoration-none text-primary" aria-current="page"><i class="bi bi-house" aria-hidden="true"></i><span class="d-block">Home</span></a><a href="#" class="flex-fill text-center small py-2 text-decoration-none text-body-secondary"><i class="bi bi-search" aria-hidden="true"></i><span class="d-block">Search</span></a><a href="#" class="flex-fill text-center small py-2 text-decoration-none text-body-secondary"><i class="bi bi-heart" aria-hidden="true"></i><span class="d-block">Saved</span></a><a href="#" class="flex-fill text-center small py-2 text-decoration-none text-body-secondary"><i class="bi bi-person" aria-hidden="true"></i><span class="d-block">Profile</span></a>
</nav>
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Mobile tab bar demo">
<div class="px-3 pt-3" style="padding-bottom:4.5rem">
<p class="small mb-3">Our team has done this many times, so you never have to guess.</p>
<p class="small mb-3">We measure success by how many donors come back and tell their friends.</p>
<p class="small mb-3">Our annual report is independently audited and published in full.</p>
<p class="small mb-3">Start in minutes and get help from a real person whenever you need it.</p>
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</p>
<p class="small mb-3">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small mb-3">We keep things simple, so you can focus on what matters to you.</p>
<p class="small mb-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
</div>
</div>
</div>9App shell: fixed top and bottom
A fixed-top title bar plus a fixed-bottom status line around a scrolling list.
- Elena WhitakerHow to choose the right campaign
- Maya HarlowWhy we plant trees with the schools we build
- Amara RossiLooking back at a busy season
- Mia AlvarezWhat happens after a disaster appeal
- Jonah NguyenA day in the life of a volunteer
- Mateo LindqvistTen ways to fundraise with friends
- Noah SilvaOur yearly impact report, explained
- Tariq MorganHow your donations built three new classrooms
- Diego KowalskiWhy monthly giving makes such a difference
<div class="hp-pos">
<div class="fixed-top text-bg-dark px-3 py-2 small fw-semibold">
<i class="bi bi-inbox" aria-hidden="true"></i> Inbox
</div>
<div class="fixed-bottom bg-body-tertiary border-top px-3 py-1 small text-body-secondary">
Synced 2 days ago
</div>
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="App shell demo">
<ul class="list-group list-group-flush" style="padding-top:2.5rem;padding-bottom:2rem">
<li class="list-group-item small"><strong class="d-block">Elena Whitaker</strong>How to choose the right campaign</li>
<li class="list-group-item small"><strong class="d-block">Maya Harlow</strong>Why we plant trees with the schools we build</li>
<li class="list-group-item small"><strong class="d-block">Amara Rossi</strong>Looking back at a busy season</li>
<li class="list-group-item small"><strong class="d-block">Mia Alvarez</strong>What happens after a disaster appeal</li>
<li class="list-group-item small"><strong class="d-block">Jonah Nguyen</strong>A day in the life of a volunteer</li>
<li class="list-group-item small"><strong class="d-block">Mateo Lindqvist</strong>Ten ways to fundraise with friends</li>
<li class="list-group-item small"><strong class="d-block">Noah Silva</strong>Our yearly impact report, explained</li>
<li class="list-group-item small"><strong class="d-block">Tariq Morgan</strong>How your donations built three new classrooms</li>
<li class="list-group-item small"><strong class="d-block">Diego Kowalski</strong>Why monthly giving makes such a difference</li>
</ul>
</div>
</div>10Sticky chat composer
The message input uses sticky-bottom so it is always at hand below the conversation.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Chat demo">
<div class="p-3">
<div class="d-flex mb-2">
<div class="px-3 py-2 rounded-3 small bg-body-tertiary" style="max-width:75%">
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
</div>
</div>
<div class="d-flex justify-content-end mb-2">
<div class="px-3 py-2 rounded-3 small text-bg-primary" style="max-width:75%">
Our annual report is independently audited and published in full.
</div>
</div>
<div class="d-flex mb-2">
<div class="px-3 py-2 rounded-3 small bg-body-tertiary" style="max-width:75%">
We have helped more than two hundred thousand people since we started.
</div>
</div>
<div class="d-flex justify-content-end mb-2">
<div class="px-3 py-2 rounded-3 small text-bg-primary" style="max-width:75%">
Our team has done this many times, so you never have to guess.
</div>
</div>
<div class="d-flex mb-2">
<div class="px-3 py-2 rounded-3 small bg-body-tertiary" style="max-width:75%">
Clear prices, honest advice and no surprises along the way.
</div>
</div>
<div class="d-flex justify-content-end mb-2">
<div class="px-3 py-2 rounded-3 small text-bg-primary" style="max-width:75%">
Leave a gift in your will and help future generations.
</div>
</div>
</div>
<form class="sticky-bottom bg-body border-top p-2 d-flex gap-2">
<label class="visually-hidden" for="hp-msg-1234">Message</label>
<input class="form-control form-control-sm" id="hp-msg-1234" type="text" placeholder="Write a message">
<button type="submit" class="btn btn-sm btn-primary" aria-label="Send"><i class="bi bi-send" aria-hidden="true"></i></button>
</form>
</div>
</div>11Sticky cart total
The order total sticks to the bottom of a long basket list.
- School kit$27.00
- Monthly gift$24.00
- Tree planting$9.00
- Health kit$34.99
- Meal pack$14.00
- Solar lamp$20.00
- Library books$46.00
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Basket">
<ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between small"><span>School kit</span><span>$27.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Monthly gift</span><span>$24.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Tree planting</span><span>$9.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Health kit</span><span>$34.99</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Meal pack</span><span>$14.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Solar lamp</span><span>$20.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Library books</span><span>$46.00</span></li>
</ul>
<div class="sticky-bottom text-bg-light border-top d-flex justify-content-between align-items-center px-3 py-2">
<strong>Total $174.99</strong>
<button type="button" class="btn btn-sm btn-success">Checkout</button>
</div>
</div>
</div>12Sticky filters on large screens
sticky-lg-top keeps the filter row in view on wide screens only.
We keep things simple, so you can focus on what matters to you.
Clean water wells are built with and maintained by local communities.
Start in minutes and get help from a real person whenever you need it.
Every detail is handled by people who care about getting it right.
We measure success by how many donors come back and tell their friends.
Ninety cents of every dollar goes directly to the projects you support.
Volunteers give their time in schools, shelters and food banks every week.
Local partners know their communities and make sure help arrives where it matters.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Product filters">
<div class="sticky-lg-top bg-body border-bottom p-2 d-flex gap-2 align-items-center">
<label class="small text-nowrap" for="hp-sort-1235">Sort by</label>
<select class="form-select form-select-sm" id="hp-sort-1235">
<option>Newest</option>
<option>Price</option>
<option>Rating</option>
</select>
</div>
<div class="p-3">
<p class="small mb-3">We keep things simple, so you can focus on what matters to you.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</p>
<p class="small mb-3">Start in minutes and get help from a real person whenever you need it.</p>
<p class="small mb-3">Every detail is handled by people who care about getting it right.</p>
<p class="small mb-3">We measure success by how many donors come back and tell their friends.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</p>
<p class="small mb-3">Volunteers give their time in schools, shelters and food banks every week.</p>
<p class="small mb-3">Local partners know their communities and make sure help arrives where it matters.</p>
</div>
</div>
</div>13Sticky editor toolbar
Formatting buttons stay at the top of a long document while you edit.
Together we can change lives
Thousands of donors already trust us, and we work hard to keep it that way.
A school kit costs less than a cinema ticket and lasts a whole year.
Friendly people answer your questions quickly, by phone, chat or email.
Companies can match employee donations and double their impact.
We listen first, then build a plan around what you actually need.
You receive photos and updates showing exactly what your donation achieved.
We listen first, then build a plan around what you actually need.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Editor demo">
<div class="sticky-top bg-body-tertiary border-bottom p-1 d-flex gap-1" role="toolbar" aria-label="Formatting">
<button type="button" class="btn btn-sm btn-light" aria-label="Bold"><i class="bi bi-type-bold" aria-hidden="true"></i></button>
<button type="button" class="btn btn-sm btn-light" aria-label="Italic"><i class="bi bi-type-italic" aria-hidden="true"></i></button>
<button type="button" class="btn btn-sm btn-light" aria-label="Bulleted list"><i class="bi bi-list-ul" aria-hidden="true"></i></button>
<button type="button" class="btn btn-sm btn-light" aria-label="Insert link"><i class="bi bi-link-45deg" aria-hidden="true"></i></button>
<button type="button" class="btn btn-sm btn-light" aria-label="Insert image"><i class="bi bi-image" aria-hidden="true"></i></button>
</div>
<div class="p-3">
<h3 class="h5">Together we can change lives</h3>
<p class="small mb-3">Thousands of donors already trust us, and we work hard to keep it that way.</p>
<p class="small mb-3">A school kit costs less than a cinema ticket and lasts a whole year.</p>
<p class="small mb-3">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small mb-3">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</p>
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</p>
</div>
</div>
</div>14Sticky day dividers
Date pills in a message thread stick at the top until the next day arrives.
Volunteers give their time in schools, shelters and food banks every week.
You receive photos and updates showing exactly what your donation achieved.
We measure success by how many donors come back and tell their friends.
Local partners know their communities and make sure help arrives where it matters.
Leave a gift in your will and help future generations.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
Every donation is tax-deductible, and receipts arrive by email instantly.
Start in minutes and get help from a real person whenever you need it.
A school kit costs less than a cinema ticket and lasts a whole year.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Message thread">
<div class="sticky-top text-center py-1">
<span class="badge rounded-pill text-bg-secondary">Monday</span>
</div>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Volunteers give their time in schools, shelters and food banks every week.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">You receive photos and updates showing exactly what your donation achieved.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">We measure success by how many donors come back and tell their friends.</p>
<div class="sticky-top text-center py-1">
<span class="badge rounded-pill text-bg-secondary">Yesterday</span>
</div>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Local partners know their communities and make sure help arrives where it matters.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Leave a gift in your will and help future generations.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</p>
<div class="sticky-top text-center py-1">
<span class="badge rounded-pill text-bg-secondary">Today</span>
</div>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Start in minutes and get help from a real person whenever you need it.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">A school kit costs less than a cinema ticket and lasts a whole year.</p>
</div>
</div>15Fixed-bottom update notice
A dismissible style notice pinned with fixed-bottom over scrolling content.
Our annual report is independently audited and published in full.
Every detail is handled by people who care about getting it right.
Ninety cents of every dollar goes directly to the projects you support.
Companies can match employee donations and double their impact.
Clear prices, honest advice and no surprises along the way.
Friendly people answer your questions quickly, by phone, chat or email.
Clean water wells are built with and maintained by local communities.
We keep things simple, so you can focus on what matters to you.
<div class="hp-pos">
<div class="fixed-bottom m-2 alert alert-info d-flex align-items-center gap-2 mb-2 py-2 small" role="status">
<i class="bi bi-arrow-repeat" aria-hidden="true"></i><span class="me-auto">A new version is ready.</span>
<button type="button" class="btn btn-sm btn-info">Reload</button>
</div>
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Update notice demo">
<div class="px-3 pt-3" style="padding-bottom:5rem">
<p class="small mb-3">Our annual report is independently audited and published in full.</p>
<p class="small mb-3">Every detail is handled by people who care about getting it right.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</p>
<p class="small mb-3">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">Clear prices, honest advice and no surprises along the way.</p>
<p class="small mb-3">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</p>
<p class="small mb-3">We keep things simple, so you can focus on what matters to you.</p>
</div>
</div>
</div>16Sticky category chips
A horizontal row of chips with sticky-top above a feed of cards.
Meet the partners behind our water projects
We have helped more than two hundred thousand people since we started.
Our favourite tips for busy weeks
Our team has done this many times, so you never have to guess.
Why monthly giving makes such a difference
Thousands of donors already trust us, and we work hard to keep it that way.
Why we plant trees with the schools we build
Volunteers give their time in schools, shelters and food banks every week.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Category feed">
<div class="sticky-top bg-body p-2 d-flex flex-wrap gap-1 border-bottom">
<span class="badge rounded-pill text-bg-light border">Animals</span><span class="badge rounded-pill text-bg-light border">Education</span><span class="badge rounded-pill text-bg-light border">Health</span><span class="badge rounded-pill text-bg-light border">Environment</span><span class="badge rounded-pill text-bg-light border">Relief</span>
</div>
<div class="p-2 vstack gap-2">
<div class="card">
<div class="card-body py-2">
<h3 class="h6 mb-1">Meet the partners behind our water projects</h3>
<p class="small mb-0">We have helped more than two hundred thousand people since we started.</p>
</div>
</div>
<div class="card">
<div class="card-body py-2">
<h3 class="h6 mb-1">Our favourite tips for busy weeks</h3>
<p class="small mb-0">Our team has done this many times, so you never have to guess.</p>
</div>
</div>
<div class="card">
<div class="card-body py-2">
<h3 class="h6 mb-1">Why monthly giving makes such a difference</h3>
<p class="small mb-0">Thousands of donors already trust us, and we work hard to keep it that way.</p>
</div>
</div>
<div class="card">
<div class="card-body py-2">
<h3 class="h6 mb-1">Why we plant trees with the schools we build</h3>
<p class="small mb-0">Volunteers give their time in schools, shelters and food banks every week.</p>
</div>
</div>
</div>
</div>
</div>17Table of contents on extra-large screens
sticky-xl-top only sticks at 1200 px and wider, a common choice for docs layouts.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
Companies can match employee donations and double their impact.
Friendly people answer your questions quickly, by phone, chat or email.
Thousands of donors already trust us, and we work hard to keep it that way.
Our team has done this many times, so you never have to guess.
Ninety cents of every dollar goes directly to the projects you support.
We have helped more than two hundred thousand people since we started.
A school kit costs less than a cinema ticket and lasts a whole year.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Docs layout">
<div class="sticky-xl-top bg-body-tertiary border-bottom px-3 py-2 small">
<i class="bi bi-list-nested" aria-hidden="true"></i> Contents: Introduction · Install · Usage
</div>
<div class="p-3">
<p class="small mb-3">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</p>
<p class="small mb-3">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small mb-3">Thousands of donors already trust us, and we work hard to keep it that way.</p>
<p class="small mb-3">Our team has done this many times, so you never have to guess.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</p>
<p class="small mb-3">We have helped more than two hundred thousand people since we started.</p>
<p class="small mb-3">A school kit costs less than a cinema ticket and lasts a whole year.</p>
</div>
</div>
</div>18Checkout button on phones
sticky-sm-bottom sticks the call to action at the bottom from the sm breakpoint up.
Our annual report is independently audited and published in full.
Local partners know their communities and make sure help arrives where it matters.
Leave a gift in your will and help future generations.
We listen first, then build a plan around what you actually need.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Product details">
<div class="p-3">
<img src="../assets/img/product-5.svg" alt="Shelter support" class="img-fluid rounded mb-3">
<p class="small mb-3">Our annual report is independently audited and published in full.</p>
<p class="small mb-3">Local partners know their communities and make sure help arrives where it matters.</p>
<p class="small mb-3">Leave a gift in your will and help future generations.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</p>
</div>
<div class="sticky-sm-bottom bg-body border-top p-2">
<button type="button" class="btn btn-primary w-100"><i class="bi bi-bag-plus" aria-hidden="true"></i> Add to bag · $98.28</button>
</div>
</div>
</div>19Reading progress header
A sticky header with a thin progress bar showing how far the reader has come.
We keep things simple, so you can focus on what matters to you.
Every detail is handled by people who care about getting it right.
Start in minutes and get help from a real person whenever you need it.
Every donation is tax-deductible, and receipts arrive by email instantly.
We measure success by how many donors come back and tell their friends.
Clear prices, honest advice and no surprises along the way.
You receive photos and updates showing exactly what your donation achieved.
Clean water wells are built with and maintained by local communities.
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Reading demo">
<div class="sticky-top bg-body">
<div class="px-3 py-2 small fw-semibold">
What our donors asked us most
</div>
<div class="progress rounded-0" role="progressbar" aria-label="Reading progress" aria-valuenow="53" aria-valuemin="0" aria-valuemax="100" style="--ui-progress-height:.25rem">
<div class="progress-bar" style="width:53%">
</div>
</div>
</div>
<div class="p-3">
<p class="small mb-3">We keep things simple, so you can focus on what matters to you.</p>
<p class="small mb-3">Every detail is handled by people who care about getting it right.</p>
<p class="small mb-3">Start in minutes and get help from a real person whenever you need it.</p>
<p class="small mb-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
<p class="small mb-3">We measure success by how many donors come back and tell their friends.</p>
<p class="small mb-3">Clear prices, honest advice and no surprises along the way.</p>
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</p>
</div>
</div>
</div>20Sticky table footer
A tfoot with sticky-bottom keeps the running total visible in a timesheet.
| Date | Task | Hours |
|---|---|---|
| Feb 23, 2026 | Animal rescue | 4 h |
| Oct 13, 2025 | Clean water | 7 h |
| Aug 20, 2026 | Volunteer programs | 2 h |
| Apr 28, 2026 | Clean water | 1 h |
| Feb 1, 2026 | Clean water | 7 h |
| Jan 9, 2026 | Food relief | 4 h |
| Jul 17, 2026 | Animal rescue | 4 h |
| Sep 14, 2026 | Education fund | 3 h |
| Oct 13, 2026 | Disaster response | 5 h |
| Nov 28, 2025 | Clean water | 7 h |
| Total | 44 h | |
<div class="hp-pos">
<div class="hp-pos-scroll" tabindex="0" role="region" aria-label="Timesheet">
<table class="table table-sm mb-0">
<thead>
<tr>
<th scope="col">Date</th>
<th scope="col">Task</th>
<th scope="col" class="text-end">Hours</th>
</tr>
</thead>
<tbody>
<tr>
<td>Feb 23, 2026</td>
<td>Animal rescue</td>
<td class="text-end">4 h</td>
</tr>
<tr>
<td>Oct 13, 2025</td>
<td>Clean water</td>
<td class="text-end">7 h</td>
</tr>
<tr>
<td>Aug 20, 2026</td>
<td>Volunteer programs</td>
<td class="text-end">2 h</td>
</tr>
<tr>
<td>Apr 28, 2026</td>
<td>Clean water</td>
<td class="text-end">1 h</td>
</tr>
<tr>
<td>Feb 1, 2026</td>
<td>Clean water</td>
<td class="text-end">7 h</td>
</tr>
<tr>
<td>Jan 9, 2026</td>
<td>Food relief</td>
<td class="text-end">4 h</td>
</tr>
<tr>
<td>Jul 17, 2026</td>
<td>Animal rescue</td>
<td class="text-end">4 h</td>
</tr>
<tr>
<td>Sep 14, 2026</td>
<td>Education fund</td>
<td class="text-end">3 h</td>
</tr>
<tr>
<td>Oct 13, 2026</td>
<td>Disaster response</td>
<td class="text-end">5 h</td>
</tr>
<tr>
<td>Nov 28, 2025</td>
<td>Clean water</td>
<td class="text-end">7 h</td>
</tr>
</tbody>
<tfoot class="sticky-bottom">
<tr class="table-light fw-semibold">
<td colspan="2">Total</td>
<td class="text-end">44 h</td>
</tr>
</tfoot>
</table>
</div>
</div>