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.
Our team has done this many times, so you never have to guess.
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.
Local partners know their communities and make sure help arrives where it matters.
Our annual report is independently audited and published in full.
Volunteers give their time in schools, shelters and food banks every week.
We listen first, then build a plan around what you actually need.
We have helped more than two hundred thousand people since we started.
<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> Looking back at a busy season
</header>
<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">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">Local partners know their communities and make sure help arrives where it matters.</p>
<p class="small mb-3">Our annual report is independently audited and published in full.</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 listen first, then build a plan around what you actually need.</p>
<p class="small mb-3">We have helped more than two hundred thousand people since we started.</p>
</div>
</div>
</div>2Sticky save bar
sticky-bottom keeps form actions at the bottom edge of the scrolling area.
A school kit costs less than a cinema ticket and lasts a whole year.
Start in minutes and get help from a real person whenever you need it.
Companies can match employee donations and double their impact.
Clean water wells are built with and maintained by local communities.
We measure success by how many donors come back and tell their friends.
Every donation is tax-deductible, and receipts arrive by email instantly.
Ninety cents of every dollar goes directly to the projects you support.
<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">A school kit costs less than a cinema ticket and lasts a whole year.</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">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</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">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</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 |
|---|---|---|
| Omar Carter | Backend Engineer | Oslo |
| Amara Kowalski | Operations Manager | Vancouver |
| Chloe Ibrahim | Frontend Engineer | Denver |
| Mason Nguyen | Customer Success | Auckland |
| Noah Brennan | Product Designer | Barcelona |
| Ava Rossi | HR Partner | Barcelona |
| Lucas Ashford | Frontend Engineer | Melbourne |
| Ivy Novak | Backend Engineer | Vancouver |
| Ravi Tanaka | Product Designer | Singapore |
| Zoe Harlow | Marketing Lead | Seoul |
| Isla Fischer | Art Director | Cape Town |
| Amara Alvarez | Project Manager | Auckland |
<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>Omar Carter</td>
<td>Backend Engineer</td>
<td>Oslo</td>
</tr>
<tr>
<td>Amara Kowalski</td>
<td>Operations Manager</td>
<td>Vancouver</td>
</tr>
<tr>
<td>Chloe Ibrahim</td>
<td>Frontend Engineer</td>
<td>Denver</td>
</tr>
<tr>
<td>Mason Nguyen</td>
<td>Customer Success</td>
<td>Auckland</td>
</tr>
<tr>
<td>Noah Brennan</td>
<td>Product Designer</td>
<td>Barcelona</td>
</tr>
<tr>
<td>Ava Rossi</td>
<td>HR Partner</td>
<td>Barcelona</td>
</tr>
<tr>
<td>Lucas Ashford</td>
<td>Frontend Engineer</td>
<td>Melbourne</td>
</tr>
<tr>
<td>Ivy Novak</td>
<td>Backend Engineer</td>
<td>Vancouver</td>
</tr>
<tr>
<td>Ravi Tanaka</td>
<td>Product Designer</td>
<td>Singapore</td>
</tr>
<tr>
<td>Zoe Harlow</td>
<td>Marketing Lead</td>
<td>Seoul</td>
</tr>
<tr>
<td>Isla Fischer</td>
<td>Art Director</td>
<td>Cape Town</td>
</tr>
<tr>
<td>Amara Alvarez</td>
<td>Project Manager</td>
<td>Auckland</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
- Alvarez, Samir
D
- Duarte, Maya
H
- Haddad, Nadia
- Haddad, Sofia
- Harlow, Omar
- Hughes, Theo
I
- Ibrahim, Owen
K
- Kim, Ella
- Kim, Lea
L
- Larsen, Diego
- Lindqvist, Mateo
- Lindqvist, Priya
M
- Mensah, Freya
- Moreau, Noah
- Moreau, Nora
- Morgan, Felix
O
- Okafor, Arjun
- Okafor, Kenji
P
- Patel, Finn
- Patel, Luna
Q
- Quinn, Ruby
S
- Sato, Aria
V
- Varga, Ethan
W
- Whitaker, Mia
<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">Alvarez, Samir</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">Duarte, Maya</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, Nadia</li>
<li class="py-1">Haddad, Sofia</li>
<li class="py-1">Harlow, Omar</li>
<li class="py-1">Hughes, Theo</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, Owen</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">K</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Kim, Ella</li>
<li class="py-1">Kim, Lea</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">Larsen, Diego</li>
<li class="py-1">Lindqvist, Mateo</li>
<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">Mensah, Freya</li>
<li class="py-1">Moreau, Noah</li>
<li class="py-1">Moreau, Nora</li>
<li class="py-1">Morgan, Felix</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, Arjun</li>
<li class="py-1">Okafor, Kenji</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, Finn</li>
<li class="py-1">Patel, Luna</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, Ruby</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, Aria</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, Ethan</li>
</ul>
</section>
<section>
<h3 class="sticky-top bg-body-secondary h6 mb-0 px-3 py-1">W</h3>
<ul class="list-unstyled px-3 py-2 mb-0">
<li class="py-1">Whitaker, Mia</li>
</ul>
</section>
</div>
</div>5Sticky sidebar
A column with a sticky-top block stays in view next to a long content column.
You receive photos and updates showing exactly what your donation achieved.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
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.
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.
Volunteers give their time in schools, shelters and food banks every week.
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.
<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">You receive photos and updates showing exactly what your donation achieved.</p>
<p class="small mb-3">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</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">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">Volunteers give their time in schools, shelters and food banks every week.</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>
</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.
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.
Local partners know their communities and make sure help arrives where it matters.
You receive photos and updates showing exactly what your donation achieved.
Ninety cents of every dollar goes directly to the projects you support.
Friendly people answer your questions quickly, by phone, chat or email.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
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-fill" aria-hidden="true"></i> Sticky from md, normal flow on small screens
</div>
<div class="p-3">
<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">Local partners know their communities and make sure help arrives where it matters.</p>
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</p>
<p class="small mb-3">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small mb-3">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</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.
Leave a gift in your will and help future generations.
Every donation is tax-deductible, and receipts arrive by email instantly.
We have helped more than two hundred thousand people since we started.
We listen first, then build a plan around what you actually need.
We keep things simple, so you can focus on what matters to you.
Our team has done this many times, so you never have to guess.
Companies can match employee donations and double their impact.
Our annual report is independently audited and published in full.
<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-fill" aria-hidden="true"></i> Sageio</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">Leave a gift in your will and help future generations.</p>
<p class="small mb-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
<p class="small mb-3">We have helped more than two hundred thousand people since we started.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</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 team has done this many times, so you never have to guess.</p>
<p class="small mb-3">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">Our annual report is independently audited and published in full.</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.
Clear prices, honest advice and no surprises along the way.
Clean water wells are built with and maintained by local communities.
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.
Volunteers give their time in schools, shelters and food banks every week.
Our annual report is independently audited and published in full.
Friendly people answer your questions quickly, by phone, chat or email.
Start in minutes and get help from a real person whenever you need it.
<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-fill" 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-fill" 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-fill" 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">Clear prices, honest advice and no surprises along the way.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</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">Volunteers give their time in schools, shelters and food banks every week.</p>
<p class="small mb-3">Our annual report is independently audited and published in full.</p>
<p class="small mb-3">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small mb-3">Start in minutes and get help from a real person whenever you need it.</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.
- Leo CarterMeet the partners behind our water projects
- Elena OrtegaA day in the life of a volunteer
- Hana DelgadoHow your donations built three new classrooms
- Tariq FischerWhy monthly giving makes such a difference
- Chloe RossiStories from the families we support
- Jonah SatoA beginner's guide to getting started
- Liam NovakOur favourite tips for busy weeks
- Mason MorganWhy we plant trees with the schools we build
- Kai NguyenTen ways to fundraise with friends
<div class="hp-pos">
<div class="fixed-top text-bg-dark px-3 py-2 small fw-semibold">
<i class="bi bi-inbox-fill" aria-hidden="true"></i> Inbox
</div>
<div class="fixed-bottom bg-body-tertiary border-top px-3 py-1 small text-body-secondary">
Synced 17 hours 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">Leo Carter</strong>Meet the partners behind our water projects</li>
<li class="list-group-item small"><strong class="d-block">Elena Ortega</strong>A day in the life of a volunteer</li>
<li class="list-group-item small"><strong class="d-block">Hana Delgado</strong>How your donations built three new classrooms</li>
<li class="list-group-item small"><strong class="d-block">Tariq Fischer</strong>Why monthly giving makes such a difference</li>
<li class="list-group-item small"><strong class="d-block">Chloe Rossi</strong>Stories from the families we support</li>
<li class="list-group-item small"><strong class="d-block">Jonah Sato</strong>A beginner's guide to getting started</li>
<li class="list-group-item small"><strong class="d-block">Liam Novak</strong>Our favourite tips for busy weeks</li>
<li class="list-group-item small"><strong class="d-block">Mason Morgan</strong>Why we plant trees with the schools we build</li>
<li class="list-group-item small"><strong class="d-block">Kai Nguyen</strong>Ten ways to fundraise with friends</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%">
Local partners know their communities and make sure help arrives where it matters.
</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%">
Ninety cents of every dollar goes directly to the projects you support.
</div>
</div>
<div class="d-flex mb-2">
<div class="px-3 py-2 rounded-3 small bg-body-tertiary" style="max-width:75%">
You receive photos and updates showing exactly what your donation achieved.
</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%">
We measure success by how many donors come back and tell their friends.
</div>
</div>
<div class="d-flex mb-2">
<div class="px-3 py-2 rounded-3 small bg-body-tertiary" style="max-width:75%">
Thousands of donors already trust us, and we work hard to keep it that 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%">
Every donation is tax-deductible, and receipts arrive by email instantly.
</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-fill" aria-hidden="true"></i></button>
</form>
</div>
</div>11Sticky cart total
The order total sticks to the bottom of a long basket list.
- Health kit$32.00
- Monthly gift$24.00
- Solar lamp$19.00
- Library books$47.00
- School kit$32.00
- Teacher training$121.00
- Meal pack$17.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>Health kit</span><span>$32.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>Solar lamp</span><span>$19.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Library books</span><span>$47.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>School kit</span><span>$32.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Teacher training</span><span>$121.00</span></li>
<li class="list-group-item d-flex justify-content-between small"><span>Meal pack</span><span>$17.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 $292.00</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.
Our team has done this many times, so you never have to guess.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
Companies can match employee donations and double their impact.
We keep things simple, so you can focus on what matters to you.
We have helped more than two hundred thousand people since we started.
Leave a gift in your will and help future generations.
Clear prices, honest advice and no surprises along the way.
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 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">Our team has done this many times, so you never have to guess.</p>
<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">We keep things simple, so you can focus on what matters to you.</p>
<p class="small mb-3">We have helped more than two hundred thousand people since we started.</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 listen first, then build a plan around what you actually need.</p>
</div>
</div>
</div>13Sticky editor toolbar
Formatting buttons stay at the top of a long document while you edit.
Real help, where it is needed most
We measure success by how many donors come back and tell their friends.
You receive photos and updates showing exactly what your donation achieved.
Companies can match employee donations and double their impact.
We listen first, then build a plan around what you actually need.
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.
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="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-fill" aria-hidden="true"></i></button>
</div>
<div class="p-3">
<h3 class="h5">Real help, where it is needed most</h3>
<p class="small mb-3">We measure success by how many donors come back and tell their friends.</p>
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</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">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">Clean water wells are built with and maintained by local communities.</p>
</div>
</div>
</div>14Sticky day dividers
Date pills in a message thread stick at the top until the next day arrives.
Our team has done this many times, so you never have to guess.
Our annual report is independently audited and published in full.
Every donation is tax-deductible, and receipts arrive by email instantly.
Friendly people answer your questions quickly, by phone, chat or email.
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.
We have helped more than two hundred thousand people since we started.
We keep things simple, so you can focus on what matters to you.
<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">Our team has done this many times, so you never have to guess.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Our annual report is independently audited and published in full.</p>
<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>
<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">Friendly people answer your questions quickly, by phone, chat or email.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Clear prices, honest advice and no surprises along the way.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">Thousands of donors already trust us, and we work hard to keep it that way.</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">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">We have helped more than two hundred thousand people since we started.</p>
<p class="small bg-body-tertiary rounded-3 px-3 py-2 mx-3">We keep things simple, so you can focus on what matters to you.</p>
</div>
</div>15Fixed-bottom update notice
A dismissible style notice pinned with fixed-bottom over scrolling content.
Volunteers give their time in schools, shelters and food banks every week.
A school kit costs less than a cinema ticket and lasts a whole year.
Leave a gift in your will and help future generations.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
Ninety cents of every dollar goes directly to the projects you support.
Start in minutes and get help from a real person whenever you need it.
Monthly gifts let us plan ahead and respond quickly when disaster strikes.
A school kit costs less than a cinema ticket and lasts a whole year.
<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">Volunteers give their time in schools, shelters and food banks every week.</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">Leave a gift in your will and help future generations.</p>
<p class="small mb-3">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</p>
<p class="small mb-3">Ninety cents of every dollar goes directly to the projects you support.</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">Monthly gifts let us plan ahead and respond quickly when disaster strikes.</p>
<p class="small mb-3">A school kit costs less than a cinema ticket and lasts a whole year.</p>
</div>
</div>
</div>16Sticky category chips
A horizontal row of chips with sticky-top above a feed of cards.
Five things we learned this year
Our team has done this many times, so you never have to guess.
How to choose the right campaign
Friendly people answer your questions quickly, by phone, chat or email.
A day in the life of a volunteer
We keep things simple, so you can focus on what matters to you.
Our yearly impact report, explained
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">Environment</span><span class="badge rounded-pill text-bg-light border">Education</span><span class="badge rounded-pill text-bg-light border">Relief</span><span class="badge rounded-pill text-bg-light border">Animals</span><span class="badge rounded-pill text-bg-light border">Health</span>
</div>
<div class="p-2 vstack gap-2">
<div class="card">
<div class="card-body py-2">
<h3 class="h6 mb-1">Five things we learned this year</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">How to choose the right campaign</h3>
<p class="small mb-0">Friendly people answer your questions quickly, by phone, chat or email.</p>
</div>
</div>
<div class="card">
<div class="card-body py-2">
<h3 class="h6 mb-1">A day in the life of a volunteer</h3>
<p class="small mb-0">We keep things simple, so you can focus on what matters to you.</p>
</div>
</div>
<div class="card">
<div class="card-body py-2">
<h3 class="h6 mb-1">Our yearly impact report, explained</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.
Clear prices, honest advice and no surprises along the way.
Ninety cents of every dollar goes directly to the projects you support.
We have helped more than two hundred thousand people since we started.
Every donation is tax-deductible, and receipts arrive by email instantly.
Our annual report is independently audited and published in full.
Companies can match employee donations and double their impact.
Clean water wells are built with and maintained by local communities.
Thousands of donors already trust us, and we work hard to keep it that way.
<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">Clear prices, honest advice and no surprises along the 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">We have helped more than two hundred thousand people since we started.</p>
<p class="small mb-3">Every donation is tax-deductible, and receipts arrive by email instantly.</p>
<p class="small mb-3">Our annual report is independently audited and published in full.</p>
<p class="small mb-3">Companies can match employee donations and double their impact.</p>
<p class="small mb-3">Clean water wells are built with and maintained by local communities.</p>
<p class="small mb-3">Thousands of donors already trust us, and we work hard to keep it that way.</p>
</div>
</div>
</div>18Checkout button on phones
sticky-sm-bottom sticks the call to action at the bottom from the sm breakpoint up.
Leave a gift in your will and help future generations.
Local partners know their communities and make sure help arrives where it matters.
We measure success by how many donors come back and tell their friends.
You receive photos and updates showing exactly what your donation achieved.
<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">Leave a gift in your will and help future generations.</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">We measure success by how many donors come back and tell their friends.</p>
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</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-fill" aria-hidden="true"></i> Add to bag · $114.25</button>
</div>
</div>
</div>19Reading progress header
A sticky header with a thin progress bar showing how far the reader has come.
Every detail is handled by people who care about getting it right.
We listen first, then build a plan around what you actually need.
We measure success by how many donors come back and tell their friends.
Clean water wells are built with and maintained by local communities.
Friendly people answer your questions quickly, by phone, chat or email.
We keep things simple, so you can focus on what matters to you.
Volunteers give their time in schools, shelters and food banks every week.
You receive photos and updates showing exactly what your donation achieved.
<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">
Five things we learned this year
</div>
<div class="progress rounded-0" role="progressbar" aria-label="Reading progress" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="--bs-progress-height:.25rem">
<div class="progress-bar" style="width:40%">
</div>
</div>
</div>
<div class="p-3">
<p class="small mb-3">Every detail is handled by people who care about getting it right.</p>
<p class="small mb-3">We listen first, then build a plan around what you actually need.</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">Clean water wells are built with and maintained by local communities.</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">Volunteers give their time in schools, shelters and food banks every week.</p>
<p class="small mb-3">You receive photos and updates showing exactly what your donation achieved.</p>
</div>
</div>
</div>20Sticky table footer
A tfoot with sticky-bottom keeps the running total visible in a timesheet.
| Date | Task | Hours |
|---|---|---|
| Sep 9, 2026 | Disaster response | 4 h |
| Apr 12, 2026 | Food relief | 3 h |
| Jul 15, 2026 | Animal rescue | 6 h |
| Mar 26, 2026 | Food relief | 2 h |
| Nov 16, 2025 | Education fund | 3 h |
| Jun 27, 2026 | Education fund | 1 h |
| Aug 31, 2026 | Volunteer programs | 6 h |
| Mar 13, 2026 | Disaster response | 6 h |
| Jul 5, 2026 | Food relief | 8 h |
| Apr 28, 2026 | Animal rescue | 7 h |
| Total | 46 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>Sep 9, 2026</td>
<td>Disaster response</td>
<td class="text-end">4 h</td>
</tr>
<tr>
<td>Apr 12, 2026</td>
<td>Food relief</td>
<td class="text-end">3 h</td>
</tr>
<tr>
<td>Jul 15, 2026</td>
<td>Animal rescue</td>
<td class="text-end">6 h</td>
</tr>
<tr>
<td>Mar 26, 2026</td>
<td>Food relief</td>
<td class="text-end">2 h</td>
</tr>
<tr>
<td>Nov 16, 2025</td>
<td>Education fund</td>
<td class="text-end">3 h</td>
</tr>
<tr>
<td>Jun 27, 2026</td>
<td>Education fund</td>
<td class="text-end">1 h</td>
</tr>
<tr>
<td>Aug 31, 2026</td>
<td>Volunteer programs</td>
<td class="text-end">6 h</td>
</tr>
<tr>
<td>Mar 13, 2026</td>
<td>Disaster response</td>
<td class="text-end">6 h</td>
</tr>
<tr>
<td>Jul 5, 2026</td>
<td>Food relief</td>
<td class="text-end">8 h</td>
</tr>
<tr>
<td>Apr 28, 2026</td>
<td>Animal rescue</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">46 h</td>
</tr>
</tfoot>
</table>
</div>
</div>