Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CSS property / selector ledger

Legend: ✅ supported today · 🟡 not supported yet, but planned · ⛔ won’t be supported. Tier T0–T3. Since = the superui version a capability first shipped in.

Unknown properties and rules are ignored, never fatal.

Selectors

SelectorStatusTierSinceNotes
type (li)✅T00.1
class (.todo)✅T00.1
id (#app)✅T00.1
descendant (.todo .label)✅T00.1
compound (.todo.completed)✅T10.1
grouping (.a, .b)✅T10.1
child (>) / sibling (+, ~)✅T20.1
attribute ([type="text"], [data-x])✅T20.1
:nth-child / :first-child / :last-child / :nth-of-type✅T20.1
:root✅T20.1
:not()✅T20.1
:hover✅T10.1on pointer hover
:checked✅T10.1checkbox state
:focus✅T10.3.5matches the focused element (click or Tab sets focus). No default focus-ring — style it yourself
:active / :disabled🟡T1—parse but don’t match yet — pressed / disabled state isn’t tracked on elements
:is() / :where()✅T20.1
::before / ::after🟡T2—selector parses, but generated content isn’t produced — pseudo-element boxes aren’t created on elements yet
::slider-track / ::slider-fill / ::slider-thumb✅T10.3.5style range-slider parts

Values

ValueStatusTierSinceNotes
custom properties (--x, var(--x))✅T20.1define on :root, read with var()
calc()🟡T2—only single-unit arithmetic works (calc(10px + 5px), calc(100% - 10%)); mixed units like calc(100% - 20px) aren’t supported yet
units: px, %, auto, vw, vh, vmin, vmax✅T00.1
unit: rem✅T20.1resolved at a 16px root (1rem = 16px) for lengths and line-height; native rem for font-size / letter-spacing
unit: em🟡T2—supported for line-height; not for general lengths yet

Properties (layout)

PropertyStatusTierSinceNotes
display: flex / none✅T00.1flexbox
flex-direction / flex-wrap✅T00.1
flex / flex-grow / flex-shrink / flex-basis✅T10.1
justify-content / align-items / align-content✅T00.1
align-self / justify-self / justify-items✅T10.1
gap / row-gap / column-gap✅T10.1
width / height (+ min/max)✅T00.1
aspect-ratio✅T20.1
margin / padding (+ sides)✅T00.1
box-sizing✅T10.1
position: relative / absolute + top/right/bottom/left✅T10.1
z-index✅T10.1
overflow (+ -x / -y)✅T10.1
display: grid✅T20.1with grid-template-columns/rows, grid-column, grid-row, grid-auto-flow/rows/columns
float⛔——not supported

Properties (visual / text)

PropertyStatusTierSinceNotes
color✅T00.1named + hex + rgb/oklch
background-color✅T00.1
border / border-*-width / border-color✅T10.1border shorthand is <width> [<color>] only — no border-style keyword (solid/dashed): write border: 1px #ccc, not border: 1px solid #ccc. Per-side shorthands (border-bottom) aren’t parsed — use border-bottom-width/-color
border-radius✅T10.1
outline (+ -width / -offset / -color)✅T20.1
box-shadow✅T20.1
text-shadow✅T20.1
font-size / font-family✅T10.1
text-align / line-height✅T10.1
transition✅T20.1
animation✅T20.1drives @keyframes
transform✅T20.12D only: translate[X/Y], scale[X/Y], rotate/rotateZ. No 3D (rotateX/Y, rotate3d, translateZ, perspective) or matrix/skew. Functions must appear in order translate scale rotate
background-image (gradient)✅T20.1linear / radial gradients
font-weight / font-style✅T20.3.0map to TextFont weight/style; a visible bold/italic needs a font asset that provides those faces
text-decoration✅T20.3.0line values underline, line-through, none, plus optional color (text-decoration: underline red). No overline, no combined lines, no text-decoration-style / -thickness
letter-spacing✅T20.3.0px / rem
visibility✅T20.3.0visible / hidden
text-transform🟡T2—
white-space / text-overflow🟡T2—nowrap, ellipsis truncation
cursor🟡T2—pointer cursor doesn’t change yet
opacity🟡T2—
filter / backdrop-filter🟡T3—blur / color effects
list-style🟡T2—no list markers
user-select / pointer-events🟡T3—
appearance🟡T2—appearance: slider-vertical (vertical range) not supported yet; range is horizontal only
background-image: url()🟡T2—url(...) parses to an image handle, but asset loading / rendering isn’t wired yet
background-position / -size / -repeat🟡T2—pairs with background-image: url()
object-fit🟡T2—pairs with <img>

At-rules

At-ruleStatusTierSinceNotes
@media✅T20.1
@keyframes✅T20.1
@import✅T20.1resolves relative to the importing stylesheet
@layer✅T20.1
PROJECTSUPERUI · BEVY UI
DRAWN BYSTROWK
SCALENOT TO SCALE
REVR1 · 0.1 EARLY BUILD
LICENCEMIT / APACHE-2.0