About this set
Six geometric background patterns drawn entirely with CSS gradients, with no images and no SVG. Dots is a single radial-gradient repeated on a 22 pixel tile. Polka dots stacks two dot layers and offsets the second by half a tile. Checkerboard is one conic-gradient split into four quarters. Grid draws a horizontal and a vertical hairline per tile. Diagonal stripes is a repeating-linear-gradient at 45 degrees, and Zigzag combines four triangular linear-gradients into a chevron band. Use the dots and the grid behind dashboards, editors and empty states, where a pattern should be felt more than seen, and the stripes, checkerboard and zigzag for banners, placeholders and playful sections. Every pattern is painted on a ::before layer behind the content of an element with isolation set, so –bp-opacity fades the pattern without fading any text on top. Colour, ground, tile size, dot or line size and opacity are all custom properties, so one class can be re-themed per section. The Bootstrap version uses the same classes inside a row and col grid, and the Tailwind version turns each pattern into a utility such as bp-dots.
What’s included
- Six patterns: dots, polka dots, checkerboard, grid, diagonal stripes, zigzag
- Pure CSS gradients, no image requests
- Colour, ground, size and opacity set with --bp-* custom properties
- Pattern sits on ::before, so content on top keeps full opacity
- Plain CSS, Bootstrap 5 and Tailwind CSS 4 versions of the same design
Accessibility
The patterns are decorative CSS backgrounds, so they need no alt text and are not announced by screen readers. Each name label is an opaque white chip, which keeps its text above 4.5:1 whatever pattern sits underneath. Nothing animates and there are no interactive controls.
Customise it
Set --bp-color, --bp-bg, --bp-size and --bp-opacity on the element (plus --bp-dot or --bp-line where the pattern has them). The Bootstrap version uses the same properties; in Tailwind pass them as arbitrary properties, for example bp-dots [--bp-color:#0d9488] [--bp-size:16px].






