Responsive & container
Viewport breakpoint variants and modern container query variants.
Viewport breakpoints
| Prefix | Width | | --- | --- | | sm: | up to 40rem (640px) | | md: | from 40.0625rem (~641px) | | lg: | from 64rem (1024px) |
<div class="d-block md:d-flex">
<!-- block on mobile, flex from tablet up -->
</div>
<div class="grid-1 md:grid-2 lg:grid-4">
<!-- 1 col mobile, 2 col tablet, 4 col desktop -->
</div>
Container query variants
The smarter, future-proof choice — responsive to the parent container's width, not the viewport. Place these on children of any element with container-type: inline-size:
| Prefix | Container width | | --- | --- | | @sm: | from 30rem | | @md: | from 48rem | | @lg: | from 64rem |
<aside class="b-card">
<div class="b-card-body grid-1 @sm:grid-2 @md:grid-3">
...
</div>
</aside>
A card at full viewport width gets 3 columns, the same card in a sidebar gets 1 — without media queries.
Helper: enable container query on any element
<div class="b-container-q">
<!-- children can now use @sm:, @md:, @lg: -->
</div>
Color scheme
scheme-light, scheme-dark, scheme-auto.
Motion
motion-safe:transition, motion-safe:scale-105, motion-reduce:d-none.
Performance
content-auto — applies content-visibility: auto for offscreen optimization.