Guide to Progress Bars
Before we begin...
Prerequisites
| Progress bars use custom containers and Bootstrap 5, both of which require a Grandmaster or higher subscription. For Master and below, you can repurpose a bbcode table to similar effect. | |
| Progress bars are fully functional with BBCode alone, no CSS required. However, CSS gives you more styling options. The CSS portion of this guide assumes you know the basics of using CSS on WA. | |
| This guide is written for Bootstrap 5. Check your version and upgrade if needed from your world styling menu. Upgrading to Bootstrap 5 might cause issues with your current theme. Try it in a test world, first. |
Documentation
Bootstrap is a toolkit that World Anvil and other sites are built off of. With a few adjustments, we can use some of its tools here on WA. Ifyou want to learn how to use Bootstrap documentation to do cool things, use the button below to open the doc on progress bars and keep it nearby while you go through this guide.BS5 progress bars create a "progress" class for the horizontal track that the "progress bar" sub-class fills in. The documentation assumes we can create from the HTML level. Here on WA, we instead use containers and sections to create divs and spans, respectively. Anywhere that says <div class="name"> translates to [container:name] in your bbcode.
BBCode
Base
The Bootstrap documentation focuses on HTML. To translate to BBCode, ignore all the role, style, aria, ID, and other info - to my knowledge, we have no ability to add that ourselves. Focus instead on how div means container, and the class name is what you'd name that container.Result
HTML
BBCode
You must have something between [container:progress-bar] and [/container], even if it's just a space like I have here. Any text you put there will appear on the progress bar itself, as you'll see later.
Width
For an example using a grid, see Ademal's Progress Bar. For more on using BS grid, check out Annie Stein's Advanced Formatting with Containers.
Result
BBCode
Color
Result
You can put nearly anything inside a progress bar. Here I've done text, a font-awesome icon, and an article mention. You can also add images, tooltips, and more.
BBCode
CSS
Custom Classes
Result
BBCode
CSS
.user-css .progress-bar.w-40 {
.user-css .progress-bar.bg-salmon {
Single-Purpose Bar
Result
You may want to adjust some colors to be more legible. The downside is whenever you finish another article, you'll need to update both your BBCode (to change 5/32 prompts to 6/32 prompts) and your CSS (update scDone from 5 to 6).
BBCode
CSS
*Note: remove the space between 100%) and ; if copy/pasting into your own CSS.
You don't need the variables here, but I think they make it clearer what's going on and why.
Multi-Purpose Bar
Result
Same as before, we unfortunately need to update both BBCode and CSS every time we make progress, instead of just BBCode.
BBCode
[container:progress rin-progress-pct rin-we-test]
CSS
.user-css .progress.rin-sc-test {
.user-css .progress.rin-we-test {
*Note: remove the space between 100%) and ; if copy/pasting into your own CSS.
One Bar per Article
Result
Now I have 8 clear segments in the track, and can add links to completed articles whenever they're done! You can use custom classes or the built-in bg colors to differentiate between segments that represent incomplete work versus a completed article.




Very informative and easy to follow! Thank you! <3
Yay I'm glad to hear it! Feel free to share any progress bars you're proud of :D
✏️ Add yourself to the World of Worlds