Miscellaneous
Set vertical alignment, box sizing, object fitting, and screen-reader-only clipping.
Use these focused helpers for inline vertical alignment, box dimensions, replaced-element fitting, and visually hiding supplemental text while keeping it available to assistive technology.
Quick reference
| Example class | Expected declarations |
|---|---|
align-baseline | vertical-align: baseline; |
align-top | vertical-align: top; |
align-middle | vertical-align: middle; |
align-bottom | vertical-align: bottom; |
box-border | box-sizing: border-box; |
box-content | box-sizing: content-box; |
object-contain | object-fit: contain; |
object-cover | object-fit: cover; |
object-fill | object-fit: fill; |
object-none | object-fit: none; |
object-scale-down | object-fit: scale-down; |
sr-only | position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; |
sr-only | position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; |
not-sr-only | position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; clip-path: none; white-space: normal; |
Example setup
Every preview explicitly uses spec: 1, reset: "none", strict mode, spacingUnit: "0.25rem", no breakpoints, and defaultTransitionTimingFunction: "ease". The data image is an inline SVG with intrinsic dimensions of 160 by 100, so object-fit results are deterministic. Authored CSS sets the comparison frames and box dimensions; zudo-wind supplies each alignment, sizing, fit, or sr-only declaration.
Examples in use
Align inline labels to a text line
The four fixed values place larger inline labels at the baseline, top, middle, or bottom of the surrounding line.
<p class="wind-demo-align-line">Text baseline <span class="wind-demo-swatch align-baseline">baseline</span> <span class="wind-demo-swatch align-top">top</span> <span class="wind-demo-swatch align-middle">middle</span> <span class="wind-demo-swatch align-bottom">bottom</span></p>@layer zw-reset, zw-tokens, zfb-hi, base, components;
@layer zw-tokens {
:root {
--zw-spacing-unit: .25rem;
}
}
.wind-demo-align-line {
margin: 0;
max-width: 38rem;
border-bottom: 1px solid #a7bacd;
color: #24364b;
font: 16px / 3 system-ui, sans-serif;
}
.wind-demo-swatch {
border: 1px solid #6c88a4;
background: #e4eff9;
padding: .2rem;
font-size: 1.1rem;
line-height: 1;
}
.align-baseline {
vertical-align: baseline;
}
.align-bottom {
vertical-align: bottom;
}
.align-middle {
vertical-align: middle;
}
.align-top {
vertical-align: top;
}Configuration for this example
{
"wind": {
"spec": 1,
"reset": "none",
"strict": true,
"tokens": {
"spacingUnit": "0.25rem"
},
"breakpoints": {},
"defaultTransitionTimingFunction": "ease",
"authoredClasses": {
"wind-demo-align-line": true,
"wind-demo-swatch": true
},
"safelist": {
"docs-preview": [
"align-baseline",
"align-top",
"align-middle",
"align-bottom"
]
}
}
}Authored demonstration CSS
.wind-demo-align-line { margin: 0; max-width: 38rem; border-bottom: 1px solid #a7bacd; color: #24364b; font: 16px/3 system-ui, sans-serif; }
.wind-demo-swatch { border: 1px solid #6c88a4; background: #e4eff9; padding: 0.2rem; font-size: 1.1rem; line-height: 1; }Compare declared and total width
Both boxes declare width: 12rem and use the same padding and border. box-border includes them in that width; box-content adds them outside it.
<div class="wind-demo-boxes"><div class="wind-demo-box box-border">border-box<br>12rem total</div><div class="wind-demo-box box-content">content-box<br>12rem content</div></div>@layer zw-reset, zw-tokens, zfb-hi, base, components;
@layer zw-tokens {
:root {
--zw-spacing-unit: .25rem;
}
}
.wind-demo-boxes {
display: flex;
flex-wrap: wrap;
align-items: start;
gap: 1rem;
color: #24364b;
font: 14px / 1.5 system-ui, sans-serif;
}
.wind-demo-box {
width: 12rem;
border: 4px solid #52779a;
background: #e4eff9;
padding: 1rem;
}
.box-border {
box-sizing: border-box;
}
.box-content {
box-sizing: content-box;
}Configuration for this example
{
"wind": {
"spec": 1,
"reset": "none",
"strict": true,
"tokens": {
"spacingUnit": "0.25rem"
},
"breakpoints": {},
"defaultTransitionTimingFunction": "ease",
"authoredClasses": {
"wind-demo-boxes": true,
"wind-demo-box": true
},
"safelist": {
"docs-preview": [
"box-border",
"box-content"
]
}
}
}Authored demonstration CSS
.wind-demo-boxes { display: flex; flex-wrap: wrap; align-items: start; gap: 1rem; color: #24364b; font: 14px/1.5 system-ui, sans-serif; }
.wind-demo-box { width: 12rem; border: 4px solid #52779a; background: #e4eff9; padding: 1rem; }Fit one image five ways
object-contain preserves the full image, object-cover crops to fill, object-fill stretches, object-none keeps its intrinsic size, and object-scale-down only shrinks when needed.
<div class="wind-demo-object-grid"><figure class="wind-demo-object-card"><figcaption>contain</figcaption><span class="wind-demo-frame"><img width="160" height="100" src="data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'160'%20height%3D'100'%20viewBox%3D'0%200%20160%20100'%3E%3Crect%20width%3D'160'%20height%3D'100'%20fill%3D'%23dbeafe'%2F%3E%3Ccircle%20cx%3D'48'%20cy%3D'50'%20r%3D'32'%20fill%3D'%231d4ed8'%2F%3E%3Crect%20x%3D'96'%20y%3D'15'%20width%3D'54'%20height%3D'70'%20rx%3D'8'%20fill%3D'%23f97316'%2F%3E%3C%2Fsvg%3E" alt="Blue circle and orange rounded rectangle on a pale blue field" class="wind-demo-image object-contain"></span></figure><figure class="wind-demo-object-card"><figcaption>cover</figcaption><span class="wind-demo-frame"><img width="160" height="100" src="data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'160'%20height%3D'100'%20viewBox%3D'0%200%20160%20100'%3E%3Crect%20width%3D'160'%20height%3D'100'%20fill%3D'%23dbeafe'%2F%3E%3Ccircle%20cx%3D'48'%20cy%3D'50'%20r%3D'32'%20fill%3D'%231d4ed8'%2F%3E%3Crect%20x%3D'96'%20y%3D'15'%20width%3D'54'%20height%3D'70'%20rx%3D'8'%20fill%3D'%23f97316'%2F%3E%3C%2Fsvg%3E" alt="Blue circle and orange rounded rectangle on a pale blue field" class="wind-demo-image object-cover"></span></figure><figure class="wind-demo-object-card"><figcaption>fill</figcaption><span class="wind-demo-frame"><img width="160" height="100" src="data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'160'%20height%3D'100'%20viewBox%3D'0%200%20160%20100'%3E%3Crect%20width%3D'160'%20height%3D'100'%20fill%3D'%23dbeafe'%2F%3E%3Ccircle%20cx%3D'48'%20cy%3D'50'%20r%3D'32'%20fill%3D'%231d4ed8'%2F%3E%3Crect%20x%3D'96'%20y%3D'15'%20width%3D'54'%20height%3D'70'%20rx%3D'8'%20fill%3D'%23f97316'%2F%3E%3C%2Fsvg%3E" alt="Blue circle and orange rounded rectangle on a pale blue field" class="wind-demo-image object-fill"></span></figure><figure class="wind-demo-object-card"><figcaption>none</figcaption><span class="wind-demo-frame"><img width="160" height="100" src="data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'160'%20height%3D'100'%20viewBox%3D'0%200%20160%20100'%3E%3Crect%20width%3D'160'%20height%3D'100'%20fill%3D'%23dbeafe'%2F%3E%3Ccircle%20cx%3D'48'%20cy%3D'50'%20r%3D'32'%20fill%3D'%231d4ed8'%2F%3E%3Crect%20x%3D'96'%20y%3D'15'%20width%3D'54'%20height%3D'70'%20rx%3D'8'%20fill%3D'%23f97316'%2F%3E%3C%2Fsvg%3E" alt="Blue circle and orange rounded rectangle on a pale blue field" class="wind-demo-image object-none"></span></figure><figure class="wind-demo-object-card"><figcaption>scale-down</figcaption><span class="wind-demo-frame"><img width="160" height="100" src="data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'160'%20height%3D'100'%20viewBox%3D'0%200%20160%20100'%3E%3Crect%20width%3D'160'%20height%3D'100'%20fill%3D'%23dbeafe'%2F%3E%3Ccircle%20cx%3D'48'%20cy%3D'50'%20r%3D'32'%20fill%3D'%231d4ed8'%2F%3E%3Crect%20x%3D'96'%20y%3D'15'%20width%3D'54'%20height%3D'70'%20rx%3D'8'%20fill%3D'%23f97316'%2F%3E%3C%2Fsvg%3E" alt="Blue circle and orange rounded rectangle on a pale blue field" class="wind-demo-image object-scale-down"></span></figure></div>@layer zw-reset, zw-tokens, zfb-hi, base, components;
@layer zw-tokens {
:root {
--zw-spacing-unit: .25rem;
}
}
.wind-demo-object-grid {
display: flex;
flex-wrap: wrap;
gap: .8rem;
color: #24364b;
font: 13px / 1.4 system-ui, sans-serif;
}
.wind-demo-object-card {
display: grid;
gap: .3rem;
margin: 0;
}
.wind-demo-frame {
display: block;
width: 7rem;
height: 5rem;
overflow: hidden;
border: 1px solid #849bb3;
background: #f2f6fa;
}
.wind-demo-image {
display: block;
width: 7rem;
height: 5rem;
}
.object-contain {
object-fit: contain;
}
.object-cover {
object-fit: cover;
}
.object-fill {
object-fit: fill;
}
.object-none {
object-fit: none;
}
.object-scale-down {
object-fit: scale-down;
}Configuration for this example
{
"wind": {
"spec": 1,
"reset": "none",
"strict": true,
"tokens": {
"spacingUnit": "0.25rem"
},
"breakpoints": {},
"defaultTransitionTimingFunction": "ease",
"authoredClasses": {
"wind-demo-object-grid": true,
"wind-demo-object-card": true,
"wind-demo-frame": true,
"wind-demo-image": true
},
"safelist": {
"docs-preview": [
"object-contain",
"object-cover",
"object-fill",
"object-none",
"object-scale-down"
]
}
}
}Authored demonstration CSS
.wind-demo-object-grid { display: flex; flex-wrap: wrap; gap: 0.8rem; color: #24364b; font: 13px/1.4 system-ui, sans-serif; }
.wind-demo-object-card { display: grid; gap: 0.3rem; margin: 0; }
.wind-demo-frame { display: block; width: 7rem; height: 5rem; overflow: hidden; border: 1px solid #849bb3; background: #f2f6fa; }
.wind-demo-image { display: block; width: 7rem; height: 5rem; }Add optional screen-reader context
The visible button remains labeled “Save”; sr-only adds a short supplemental phrase without hiding essential content.
<div class="wind-demo-sr-example"><button type="button" class="wind-demo-sr-button">Save<span class="sr-only"> profile changes</span></button><p>The visible “Save” label stands on its own; the visually hidden words add optional context for a screen reader.</p></div>@layer zw-reset, zw-tokens, zfb-hi, base, components;
@layer zw-tokens {
:root {
--zw-spacing-unit: .25rem;
}
}
.wind-demo-sr-example {
display: grid;
justify-items: start;
gap: .7rem;
max-width: 30rem;
color: #24364b;
font: 15px / 1.5 system-ui, sans-serif;
}
.wind-demo-sr-example p {
margin: 0;
}
.wind-demo-sr-button {
border: 1px solid #526477;
border-radius: .35rem;
background: #eef3f8;
padding: .55rem .8rem;
color: inherit;
font: inherit;
}
.wind-demo-sr-button:focus-visible {
outline: 3px solid #1670b8;
outline-offset: 3px;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border-width: 0;
}Configuration for this example
{
"wind": {
"spec": 1,
"reset": "none",
"strict": true,
"tokens": {
"spacingUnit": "0.25rem"
},
"breakpoints": {},
"defaultTransitionTimingFunction": "ease",
"authoredClasses": {
"wind-demo-sr-example": true,
"wind-demo-sr-button": true
},
"safelist": {
"docs-preview": [
"sr-only"
]
}
}
}Authored demonstration CSS
.wind-demo-sr-example { display: grid; justify-items: start; gap: 0.7rem; max-width: 30rem; color: #24364b; font: 15px/1.5 system-ui, sans-serif; }
.wind-demo-sr-example p { margin: 0; }
.wind-demo-sr-button { border: 1px solid #526477; border-radius: 0.35rem; background: #eef3f8; padding: 0.55rem 0.8rem; color: inherit; font: inherit; }
.wind-demo-sr-button:focus-visible { outline: 3px solid #1670b8; outline-offset: 3px; }Screen reader visibility
screen-reader-visibility uses exact supported Wind utility classes.
<div class="wind-demo-new"><span class="sr-only">Hidden visually</span><span class="not-sr-only">Visible label</span></div>@layer zw-reset, zw-tokens, zfb-hi, base, components;
@layer zw-tokens {
:root {
--zw-spacing-unit: .25rem;
}
}
.wind-demo-new {
color: #203046;
font: 14px / 1.5 system-ui, sans-serif;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border-width: 0;
}
.not-sr-only {
position: static;
width: auto;
height: auto;
padding: 0;
margin: 0;
overflow: visible;
clip: auto;
clip-path: none;
white-space: normal;
}Configuration for this example
{
"wind": {
"spec": 1,
"reset": "none",
"strict": true,
"tokens": {
"spacingUnit": "0.25rem"
},
"breakpoints": {},
"defaultTransitionTimingFunction": "ease",
"authoredClasses": {
"wind-demo-new": true
},
"safelist": {
"docs-preview": [
"sr-only",
"not-sr-only"
]
}
}
}Authored demonstration CSS
.wind-demo-new { color: #203046; font: 14px/1.5 system-ui, sans-serif; }Custom and named values
All entries in this family are fixed keywords with no named token scale or arbitrary value form. Vertical alignment affects inline-level content relative to a line, not flex or grid alignment. box-border includes padding and border in the declared width; box-content measures the content box. object-fit controls how replaced content fits the element’s box. sr-only clips content visually but leaves it in the accessibility tree; do not use it to hide information that sighted users need.
Related guides: Utility grammar · Variants
Catalog details
align-baseline
| Field | Value |
|---|---|
| Catalog identifier | v1.align-baseline |
| Class pattern | align-baseline |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 0 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | vertical-align |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "baseline" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
vertical-align | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
align-baseline | vertical-align: baseline |
align-bottom
| Field | Value |
|---|---|
| Catalog identifier | v1.align-bottom |
| Class pattern | align-bottom |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 0 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | vertical-align |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "bottom" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
vertical-align | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
align-bottom | vertical-align: bottom |
align-middle
| Field | Value |
|---|---|
| Catalog identifier | v1.align-middle |
| Class pattern | align-middle |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 0 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | vertical-align |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "middle" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
vertical-align | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
align-middle | vertical-align: middle |
align-top
| Field | Value |
|---|---|
| Catalog identifier | v1.align-top |
| Class pattern | align-top |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 0 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | vertical-align |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "top" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
vertical-align | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
align-top | vertical-align: top |
box-border
| Field | Value |
|---|---|
| Catalog identifier | v1.box-border |
| Class pattern | box-border |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 1 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | box-sizing |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "border-box" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
box-sizing | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
box-border | box-sizing: border-box |
box-content
| Field | Value |
|---|---|
| Catalog identifier | v1.box-content |
| Class pattern | box-content |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 1 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | box-sizing |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "content-box" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
box-sizing | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
box-content | box-sizing: content-box |
object-contain
| Field | Value |
|---|---|
| Catalog identifier | v1.object-contain |
| Class pattern | object-contain |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 2 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | object-fit |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "contain" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
object-fit | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
object-contain | object-fit: contain |
object-cover
| Field | Value |
|---|---|
| Catalog identifier | v1.object-cover |
| Class pattern | object-cover |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 2 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | object-fit |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "cover" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
object-fit | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
object-cover | object-fit: cover |
object-fill
| Field | Value |
|---|---|
| Catalog identifier | v1.object-fill |
| Class pattern | object-fill |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 2 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | object-fit |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "fill" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
object-fit | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
object-fill | object-fit: fill |
object-none
| Field | Value |
|---|---|
| Catalog identifier | v1.object-none |
| Class pattern | object-none |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 2 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | object-fit |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "none" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
object-fit | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
object-none | object-fit: none |
object-scale-down
| Field | Value |
|---|---|
| Catalog identifier | v1.object-scale-down |
| Class pattern | object-scale-down |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 2 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | object-fit |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "scale-down" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
object-fit | resolved | null |
Catalog examples
| Example class | Expected declarations |
|---|---|
object-scale-down | object-fit: scale-down |
sr-only
| Field | Value |
|---|---|
| Catalog identifier | v1.sr-only |
| Class pattern | sr-only |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 3 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | position, width, height, padding, margin, overflow, clip, white-space, border-width |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "absolute" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
position | fixed | "absolute" |
width | fixed | "1px" |
height | fixed | "1px" |
padding | fixed | "0" |
margin | fixed | "-1px" |
overflow | fixed | "hidden" |
clip | fixed | "rect(0,0,0,0)" |
white-space | fixed | "nowrap" |
border-width | fixed | "0" |
Catalog examples
| Example class | Expected declarations |
|---|---|
sr-only | position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0 |
not-sr-only
| Field | Value |
|---|---|
| Catalog identifier | v1.not-sr-only |
| Class pattern | not-sr-only |
| Grammar | {"acceptedKinds":["exact"],"arbitraryProperty":null,"allowsFractionSlash":false,"allowsColorOpacity":false} |
| Accepted values | 1 |
| Token categories | No token category |
| Negative-value policy | forbidden |
| Conflict group and rank | miscellaneous (44) |
| Order rank | 4 |
| Selector shape | ownElement |
| Spec version | 1 |
| Emitter properties | position, width, height, padding, margin, overflow, clip, clip-path, white-space |
Accepted values
| Kind | Suffix | Emitted value |
|---|---|---|
exact | null | "static" |
Declaration templates
| Property | Value kind | Fixed value |
|---|---|---|
position | fixed | "static" |
width | fixed | "auto" |
height | fixed | "auto" |
padding | fixed | "0" |
margin | fixed | "0" |
overflow | fixed | "visible" |
clip | fixed | "auto" |
clip-path | fixed | "none" |
white-space | fixed | "normal" |
Catalog examples
| Example class | Expected declarations |
|---|---|
not-sr-only | position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; clip-path: none; white-space: normal |