Components
← All components

Reading Progress

stimeo--reading-progress

Hands CSS how far through an article you have read, so the progress bar is pure CSS.

  • Core

Measures how far through an article you have read and hands that fraction to CSS. It writes it both on the article and on the page as a whole, so a bar fixed anywhere can fill from CSS alone. The usual visibility machinery cannot express this, because the value stays flat while a tall article passes through the screen, so the maths lives here instead. The work is paced to the browser's own drawing, so scrolling stays smooth, and an article inside a scrolling box works too. Reaching the end is reported. Mark a decorative bar as hidden from screen readers.

running

Scroll this page: the bar above the article fills from the CSS value alone, with no JavaScript of your own.

Paragraph 1: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 2: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 3: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 4: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 5: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 6: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 7: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 8: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 9: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 10: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 11: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 12: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 13: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 14: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 15: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 16: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 17: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 18: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 19: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 20: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 21: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 22: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 23: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 24: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 25: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 26: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 27: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Paragraph 28: scroll on — the bar above tracks how far through this article you are, computed from the article's geometry and published as a CSS custom property.

Keyboard

This component has no keyboard interactions of its own.