About this set
Five fully rounded buttons for modern product interfaces. Solid pill is indigo with a darker hover and a tinted shadow. Tinted pill uses a pale indigo background with a dark indigo label, a quieter secondary action. Bordered pill is transparent with a grey outline that turns indigo on hover. Live now is a white pill with a small green status dot drawn by a ::before pseudo-element, and Notifications carries a counter badge with the number 12 on a translucent white chip. Use the solid and tinted pills as primary and secondary actions, the bordered one for tertiary actions, and the dot and badge variants in headers and dashboards. Hover states change colour only, so nothing moves. The border radius is 999px, which keeps the ends round at any height. The grey outlines are dark enough for the button boundaries to reach 3:1 against the page, and the badge includes visually hidden text so screen readers hear 12 unread rather than a bare number. The Bootstrap version uses .rounded-pill on .btn with each fill set through –bs-btn-* variables, and a .badge for the counter.
What’s included
- Solid, tinted, bordered, status-dot and counter-badge pills
- Colour-only hover states, nothing moves
- Status dot drawn with a ::before pseudo-element
- Counter badge with hidden unread text for screen readers
- Borders darkened to 3:1 against the page
Accessibility
Each pill is a native button named by its text; the Notifications button reads as Notifications 12 unread thanks to visually hidden text in the badge. Tab reaches every pill and focus draws a 2px indigo outline 3px outside it. Colour transitions are removed under prefers-reduced-motion.
Customise it
In plain CSS change the background and color on .pb-solid, .pb-tint, .pb-outline, .pb-live and .pb-count, and the padding on .pb. In Bootstrap set the --bs-btn-* colour variables on .btn-pill-* and --bs-badge-* on the badge; in Tailwind edit the bg-, text- and border- utilities.

















