Skip to content
Pitlane

@pitlane/theme

Type-safe styling with design tokens for Remix 3.

createTheme takes a schema tree and the token tree it describes, and returns a typed token accessor plus a <Theme /> component that installs the tokens as CSS custom properties. Token values are the CSS they become; the schema, built from @pitlane/theme/schema, names each token's type. The css, tva, combine, and cx helpers enforce the token palette at the type level on top of remix/ui's css() mixin.

Classes

ThemeError

The error createTheme throws for every structural failure: one problem, one sentence.

FailureMessage shape
No schema entry"space.md" has no schema entry
Unknown reference"color.bg" references unknown token "color.nope"
Reference type mismatch"color.bg" references "space.md" of type "dimension" where "color" is required
Reference to an untyped token"color.bg" references untyped token "animate.spin"
Reference cycleReference cycle: color.a → color.b → color.a
Variable collisionTokens "a.b" and "a-b" both produce the CSS variable --a-b
Reserved charactersToken or group name "a.b" contains characters reserved by references (".", "{", "}")
Empty identifierToken path segment "!!" produces an empty CSS identifier
Unknown mode tokenMode "dark" overrides unknown token "color.nope"

Bad token values raise ValidationError from remix/data-schema instead, because there may be several and each carries its own path.

See

createTheme

Extends

  • Error

Constructors

Constructor
ts
new ThemeError(message?): ThemeError;
Parameters
message?

string

Returns

ThemeError

Inherited from
ts
Error.constructor
Constructor
ts
new ThemeError(message?, options?): ThemeError;
Parameters
message?

string

options?

ErrorOptions

Returns

ThemeError

Inherited from
ts
Error.constructor

Properties

cause?
ts
optional cause?: unknown;
Inherited from
ts
Error.cause
message
ts
message: string;
Inherited from
ts
Error.message
name
ts
name: string = "ThemeError";
Overrides
ts
Error.name
stack?
ts
optional stack?: string;
Inherited from
ts
Error.stack

Methods

isError()
ts
static isError(error): error is Error;

Indicates whether the argument provided is a built-in Error instance or not.

Parameters
error

unknown

Returns

error is Error

Inherited from
ts
Error.isError

Interfaces

CombinedTVAFn()

A component built by combine. Accepts the union of the input components' props and honors each input's own defaults.

Type Parameters

Fns

Fns extends readonly TVAFn<VariantShape>[]

ts
CombinedTVAFn<node>(props?): ThemedCSSMixin<node>;

Resolves every input and returns a mix-ready descriptor.

Type Parameters

node

node extends Element = Element

Parameters

props?

CombinedProps<Fns>

Returns

ThemedCSSMixin<node>

Methods

resolve()
ts
resolve(props?): ThemedCSSProps;

Returns the merged style object without building a descriptor.

Parameters
props?

CombinedProps<Fns>

Returns

ThemedCSSProps


ScaleFn()

The accessor leaf for a token declared with s.scale(): callable for steps, with the base itself as .token.

.token is what a projection re-roots and what raw resolves, so it is load-bearing rather than decorative.

See

TokenTree

ts
ScaleFn(steps): DimensionToken;

The accessor leaf for a token declared with s.scale(): callable for steps, with the base itself as .token.

.token is what a projection re-roots and what raw resolves, so it is load-bearing rather than decorative.

Parameters

steps

number

Returns

DimensionToken

See

TokenTree

Properties

token
ts
readonly token: DimensionToken;

ThemeComponent()

The <Theme /> component createTheme returns. Render it once near the document root to install the custom properties.

It is an ordinary component with one extra property, $theme, holding the init it was compiled from, so a published theme can be handed straight back to createTheme.

Type Parameters

T

T

ts
ThemeComponent(handle): () => RemixElement;

The <Theme /> component createTheme returns. Render it once near the document root to install the custom properties.

It is an ordinary component with one extra property, $theme, holding the init it was compiled from, so a published theme can be handed straight back to createTheme.

Parameters

handle

Handle<ThemeProps>

Returns

() => RemixElement

Properties

$theme
ts
readonly $theme: T;

ThemedCSSProps

The style-object type accepted by css and every tva slot.

Two layers stack. Token-mapped longhands enforce the matching token brand plus a small set of CSS keywords and the literal 0. Every other property carries csstype's value union, so closed-grammar properties such as display, position, resize, and overflow only accept their real keywords. Unknown keys — nested selectors, at-rules, and CSS custom properties — recurse or stay loose.

Wide below is the CSS-wide keyword union "inherit" | "initial" | "unset" | "revert" | "revert-layer".

Property familyAccepted values
color, backgroundColor, borderColor, the four per-side and two logical border colors, outlineColor, textDecorationColor, columnRuleColor, caretColor, accentColor, fill, strokeColorToken | "transparent" | "currentColor" | Wide
width, height, minWidth, minHeight, maxWidth, maxHeight, their blockSize/inlineSize logical forms, flexBasisDimensionToken | 0 | "auto" | "min-content" | "max-content" | "fit-content" | Wide
top, right, bottom, left, marginTop, marginRight, marginBottom, marginLeft, and their inset*/margin* logical start/end formsDimensionToken | 0 | "auto" | Wide
paddingTop, paddingRight, paddingBottom, paddingLeft, the logical padding start/end forms, fontSize, textIndent, outlineOffset, the four corner radii, rowGap, columnGapDimensionToken | 0 | Wide
letterSpacing, wordSpacingDimensionToken | 0 | "normal" | Wide
borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, outlineWidthDimensionToken | 0 | "thin" | "medium" | "thick" | Wide
padding, margin, inset, borderRadius (box shorthands)a single value as the longhand, or a tuple of 1–4 such values, space-joined
gap, paddingBlock, paddingInline, marginBlock, marginInline, insetBlock, insetInlinethe longhand value, or a 2-tuple
fontFamilyFontFamilyToken | Wide
fontWeightFontWeightToken | "normal" | "bold" | "lighter" | "bolder" | Wide
lineHeightNumberToken | DimensionToken | "normal" | Wide
opacity, zIndex, flexGrow, flexShrink, orderNumberToken | number | Wide (plain numbers stay legal)
transitionDuration, transitionDelay, animationDuration, animationDelayDurationToken | Wide
transitionTimingFunction, animationTimingFunctionCubicBezierToken | "ease" | "linear" | "ease-in" | "ease-out" | "ease-in-out" | "step-start" | "step-end" | Wide
boxShadow, textShadowShadowToken | "none" | Wide
every other CSS propertycsstype's union for that property, with dimension tokens for lengths and duration tokens for times

See

css

Extends

  • KeywordProps.TokenMappedProps

Indexable

ts
[key: string]: 
  | string
  | number
  | ThemedCSSProps
  | readonly (string | number)[]
  | null
  | undefined

Properties

accentColor?
ts
optional accentColor?: ColorLike;
Inherited from
ts
TokenMappedProps.accentColor
alignContent?
ts
optional alignContent?: AlignContent;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>

Initial value: normal

ChromeFirefoxSafariEdgeIE
292891211
21 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/align-content

Inherited from
ts
KeywordProps.alignContent
alignItems?
ts
optional alignItems?: AlignItems;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ] | anchor-center

Initial value: normal

ChromeFirefoxSafariEdgeIE
292091211
21 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/align-items

Inherited from
ts
KeywordProps.alignItems
alignmentBaseline?
ts
optional alignmentBaseline?: AlignmentBaseline;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: baseline | alphabetic | ideographic | middle | central | mathematical | text-before-edge | text-after-edge

Initial value: baseline

ChromeFirefoxSafariEdgeIE
1No5.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/alignment-baseline

Inherited from
ts
KeywordProps.alignmentBaseline
alignSelf?
ts
optional alignSelf?: AlignSelf;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position> | anchor-center

Initial value: auto

ChromeFirefoxSafariEdgeIE
292091210
21 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/align-self

Inherited from
ts
KeywordProps.alignSelf
alignTracks?
ts
optional alignTracks?: AlignTracks;

Syntax: [ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#

Initial value: normal

Inherited from
ts
KeywordProps.alignTracks
all?
ts
optional all?: Globals;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: initial | inherit | unset | revert | revert-layer

Initial value: There is no practical initial value for it.

ChromeFirefoxSafariEdgeIE
37279.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/all

Inherited from
ts
KeywordProps.all
anchorName?
ts
optional anchorName?: AnchorName;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <dashed-ident>#

Initial value: none

ChromeFirefoxSafariEdgeIE
125preview26125No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/anchor-name

Inherited from
ts
KeywordProps.anchorName
anchorScope?
ts
optional anchorScope?: AnchorScope;

Syntax: none | all | <dashed-ident>#

Initial value: none

ChromeFirefoxSafariEdgeIE
131preview26131No
Inherited from
ts
KeywordProps.anchorScope
animation?
ts
optional animation?: Animation<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation>#

ChromeFirefoxSafariEdgeIE
431691210
3 -x-5 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation

Inherited from
ts
KeywordProps.animation
animationComposition?
ts
optional animationComposition?: AnimationComposition;

Since July 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <single-animation-composition>#

Initial value: replace

ChromeFirefoxSafariEdgeIE
11211516112No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-composition

Inherited from
ts
KeywordProps.animationComposition
animationDelay?
ts
optional animationDelay?: DurationToken | Wide;
Inherited from
ts
TokenMappedProps.animationDelay
animationDirection?
ts
optional animationDirection?: AnimationDirection;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-direction>#

Initial value: normal

ChromeFirefoxSafariEdgeIE
431691210
3 -x-5 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-direction

Inherited from
ts
KeywordProps.animationDirection
animationDuration?
ts
optional animationDuration?: DurationToken | Wide;
Inherited from
ts
TokenMappedProps.animationDuration
animationFillMode?
ts
optional animationFillMode?: AnimationFillMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-fill-mode>#

Initial value: none

ChromeFirefoxSafariEdgeIE
431691210
3 -x-5 -x-5 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-fill-mode

Inherited from
ts
KeywordProps.animationFillMode
animationIterationCount?
ts
optional animationIterationCount?: AnimationIterationCount;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-iteration-count>#

Initial value: 1

ChromeFirefoxSafariEdgeIE
431691210
3 -x-5 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-iteration-count

Inherited from
ts
KeywordProps.animationIterationCount
animationName?
ts
optional animationName?: AnimationName;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ none | <keyframes-name> ]#

Initial value: none

ChromeFirefoxSafariEdgeIE
431691210
3 -x-5 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-name

Inherited from
ts
KeywordProps.animationName
animationPlayState?
ts
optional animationPlayState?: AnimationPlayState;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-play-state>#

Initial value: running

ChromeFirefoxSafariEdgeIE
431691210
3 -x-5 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-play-state

Inherited from
ts
KeywordProps.animationPlayState
animationRange?
ts
optional animationRange?: AnimationRange<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ <'animation-range-start'> <'animation-range-end'>? ]#

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-range

Inherited from
ts
KeywordProps.animationRange
animationRangeEnd?
ts
optional animationRangeEnd?: AnimationRangeEnd<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#

Initial value: normal

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-range-end

Inherited from
ts
KeywordProps.animationRangeEnd
animationRangeStart?
ts
optional animationRangeStart?: AnimationRangeStart<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#

Initial value: normal

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-range-start

Inherited from
ts
KeywordProps.animationRangeStart
animationTimeline?
ts
optional animationTimeline?: AnimationTimeline;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <single-animation-timeline>#

Initial value: auto

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/animation-timeline

Inherited from
ts
KeywordProps.animationTimeline
animationTimingFunction?
ts
optional animationTimingFunction?: Easing;
Inherited from
ts
TokenMappedProps.animationTimingFunction
appearance?
ts
optional appearance?: Appearance;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | auto | <compat-auto> | <compat-special>

Initial value: none

ChromeFirefoxSafariEdgeIE
848015.484No
1 -x-1 -x-3 -x-12 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/appearance

Inherited from
ts
KeywordProps.appearance
aspectRatio?
ts
optional aspectRatio?: AspectRatio;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: auto || <ratio>

Initial value: auto

ChromeFirefoxSafariEdgeIE
88891588No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/aspect-ratio

Inherited from
ts
KeywordProps.aspectRatio
backdropFilter?
ts
optional backdropFilter?: BackdropFilter;

Since September 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | <filter-value-list>

Initial value: none

ChromeFirefoxSafariEdgeIE
761031879No
9 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/backdrop-filter

Inherited from
ts
KeywordProps.backdropFilter
backfaceVisibility?
ts
optional backfaceVisibility?: BackfaceVisibility;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: visible | hidden

Initial value: visible

ChromeFirefoxSafariEdgeIE
361615.41210
12 -x-10 -x-5.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/backface-visibility

Inherited from
ts
KeywordProps.backfaceVisibility
background?
ts
optional background?: Background<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-layer>#? , <final-bg-layer>

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background

Inherited from
ts
KeywordProps.background
backgroundAttachment?
ts
optional backgroundAttachment?: BackgroundAttachment;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <attachment>#

Initial value: scroll

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-attachment

Inherited from
ts
KeywordProps.backgroundAttachment
backgroundBlendMode?
ts
optional backgroundBlendMode?: BackgroundBlendMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <blend-mode>#

Initial value: normal

ChromeFirefoxSafariEdgeIE
3530879No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-blend-mode

Inherited from
ts
KeywordProps.backgroundBlendMode
backgroundClip?
ts
optional backgroundClip?: BackgroundClip;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-clip>#

Initial value: border-box

ChromeFirefoxSafariEdgeIE
145129
3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-clip

Inherited from
ts
KeywordProps.backgroundClip
backgroundColor?
ts
optional backgroundColor?: ColorLike;
Inherited from
ts
TokenMappedProps.backgroundColor
backgroundImage?
ts
optional backgroundImage?: BackgroundImage;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-image>#

Initial value: none

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-image

Inherited from
ts
KeywordProps.backgroundImage
backgroundOrigin?
ts
optional backgroundOrigin?: BackgroundOrigin;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <visual-box>#

Initial value: padding-box

ChromeFirefoxSafariEdgeIE
143129
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-origin

Inherited from
ts
KeywordProps.backgroundOrigin
backgroundPosition?
ts
optional backgroundPosition?: BackgroundPosition<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-position>#

Initial value: 0% 0%

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-position

Inherited from
ts
KeywordProps.backgroundPosition
backgroundPositionX?
ts
optional backgroundPositionX?: BackgroundPositionX<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

Syntax: [ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#

Initial value: 0%

ChromeFirefoxSafariEdgeIE
1491126
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-position-x

Inherited from
ts
KeywordProps.backgroundPositionX
backgroundPositionY?
ts
optional backgroundPositionY?: BackgroundPositionY<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

Syntax: [ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#

Initial value: 0%

ChromeFirefoxSafariEdgeIE
1491126
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-position-y

Inherited from
ts
KeywordProps.backgroundPositionY
backgroundRepeat?
ts
optional backgroundRepeat?: BackgroundRepeat;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <repeat-style>#

Initial value: repeat

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-repeat

Inherited from
ts
KeywordProps.backgroundRepeat
backgroundSize?
ts
optional backgroundSize?: BackgroundSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-size>#

Initial value: auto auto

ChromeFirefoxSafariEdgeIE
345129
1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-size

Inherited from
ts
KeywordProps.backgroundSize
baselineShift?
ts
optional baselineShift?: BaselineShift<0 | DimensionToken>;

Syntax: <length-percentage> | sub | super | baseline

Initial value: 0

ChromeFirefoxSafariEdgeIE
1No479No
Inherited from
ts
KeywordProps.baselineShift
blockSize?
ts
optional blockSize?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.blockSize
border?
ts
optional border?: Border<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-width> || <line-style> || <color>

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border

Inherited from
ts
KeywordProps.border
borderBlock?
ts
optional borderBlock?: BorderBlock<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'border-block-start'>

ChromeFirefoxSafariEdgeIE
876614.187No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block

Inherited from
ts
KeywordProps.borderBlock
borderBlockColor?
ts
optional borderBlockColor?: ColorLike;
Inherited from
ts
TokenMappedProps.borderBlockColor
borderBlockEnd?
ts
optional borderBlockEnd?: BorderBlockEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'> || <'border-top-style'> || <color>

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-end

Inherited from
ts
KeywordProps.borderBlockEnd
borderBlockEndColor?
ts
optional borderBlockEndColor?: BorderBlockEndColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-color'>

Initial value: currentcolor

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-end-color

Inherited from
ts
KeywordProps.borderBlockEndColor
borderBlockEndStyle?
ts
optional borderBlockEndStyle?: BorderBlockEndStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-style'>

Initial value: none

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-end-style

Inherited from
ts
KeywordProps.borderBlockEndStyle
borderBlockEndWidth?
ts
optional borderBlockEndWidth?: BorderBlockEndWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'>

Initial value: medium

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-end-width

Inherited from
ts
KeywordProps.borderBlockEndWidth
borderBlockStart?
ts
optional borderBlockStart?: BorderBlockStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'> || <'border-top-style'> || <color>

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-start

Inherited from
ts
KeywordProps.borderBlockStart
borderBlockStartColor?
ts
optional borderBlockStartColor?: BorderBlockStartColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-color'>

Initial value: currentcolor

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-start-color

Inherited from
ts
KeywordProps.borderBlockStartColor
borderBlockStartStyle?
ts
optional borderBlockStartStyle?: BorderBlockStartStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-style'>

Initial value: none

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-start-style

Inherited from
ts
KeywordProps.borderBlockStartStyle
borderBlockStartWidth?
ts
optional borderBlockStartWidth?: BorderBlockStartWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'>

Initial value: medium

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-start-width

Inherited from
ts
KeywordProps.borderBlockStartWidth
borderBlockStyle?
ts
optional borderBlockStyle?: BorderBlockStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'border-top-style'>{1,2}

Initial value: none

ChromeFirefoxSafariEdgeIE
876614.187No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-style

Inherited from
ts
KeywordProps.borderBlockStyle
borderBlockWidth?
ts
optional borderBlockWidth?: BorderBlockWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'border-top-width'>{1,2}

Initial value: medium

ChromeFirefoxSafariEdgeIE
876614.187No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-block-width

Inherited from
ts
KeywordProps.borderBlockWidth
borderBottom?
ts
optional borderBottom?: BorderBottom<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-width> || <line-style> || <color>

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-bottom

Inherited from
ts
KeywordProps.borderBottom
borderBottomColor?
ts
optional borderBottomColor?: ColorLike;
Inherited from
ts
TokenMappedProps.borderBottomColor
borderBottomLeftRadius?
ts
optional borderBottomLeftRadius?: Size;
Inherited from
ts
TokenMappedProps.borderBottomLeftRadius
borderBottomRightRadius?
ts
optional borderBottomRightRadius?: Size;
Inherited from
ts
TokenMappedProps.borderBottomRightRadius
borderBottomStyle?
ts
optional borderBottomStyle?: BorderBottomStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-style>

Initial value: none

ChromeFirefoxSafariEdgeIE
111125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-bottom-style

Inherited from
ts
KeywordProps.borderBottomStyle
borderBottomWidth?
ts
optional borderBottomWidth?: LineWidth;
Inherited from
ts
TokenMappedProps.borderBottomWidth
borderCollapse?
ts
optional borderCollapse?: BorderCollapse;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: separate | collapse

Initial value: separate

ChromeFirefoxSafariEdgeIE
111.1125
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-collapse

Inherited from
ts
KeywordProps.borderCollapse
borderColor?
ts
optional borderColor?: ColorLike;
Inherited from
ts
TokenMappedProps.borderColor
borderEndEndRadius?
ts
optional borderEndEndRadius?: BorderEndEndRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <'border-top-left-radius'>

Initial value: 0

ChromeFirefoxSafariEdgeIE
89661589No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-end-end-radius

Inherited from
ts
KeywordProps.borderEndEndRadius
borderEndStartRadius?
ts
optional borderEndStartRadius?: BorderEndStartRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <'border-top-left-radius'>

Initial value: 0

ChromeFirefoxSafariEdgeIE
89661589No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-end-start-radius

Inherited from
ts
KeywordProps.borderEndStartRadius
borderImage?
ts
optional borderImage?: BorderImage;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>

ChromeFirefoxSafariEdgeIE
161561211
7 -x-3.5 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-image

Inherited from
ts
KeywordProps.borderImage
borderImageOutset?
ts
optional borderImageOutset?: BorderImageOutset<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ <length [0,∞]> | <number [0,∞]> ]{1,4}

Initial value: 0

ChromeFirefoxSafariEdgeIE
151561211
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-image-outset

Inherited from
ts
KeywordProps.borderImageOutset
borderImageRepeat?
ts
optional borderImageRepeat?: BorderImageRepeat;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2016.

Syntax: [ stretch | repeat | round | space ]{1,2}

Initial value: stretch

ChromeFirefoxSafariEdgeIE
151561211
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-image-repeat

Inherited from
ts
KeywordProps.borderImageRepeat
borderImageSlice?
ts
optional borderImageSlice?: BorderImageSlice;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ <number [0,∞]> | <percentage [0,∞]> ]{1,4} && fill?

Initial value: 100%

ChromeFirefoxSafariEdgeIE
151561211
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-image-slice

Inherited from
ts
KeywordProps.borderImageSlice
borderImageSource?
ts
optional borderImageSource?: BorderImageSource;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: none | <image>

Initial value: none

ChromeFirefoxSafariEdgeIE
151561211
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-image-source

Inherited from
ts
KeywordProps.borderImageSource
borderImageWidth?
ts
optional borderImageWidth?: BorderImageWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4}

Initial value: 1

ChromeFirefoxSafariEdgeIE
161361211
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-image-width

Inherited from
ts
KeywordProps.borderImageWidth
borderInline?
ts
optional borderInline?: BorderInline<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'border-block-start'>

ChromeFirefoxSafariEdgeIE
876614.187No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline

Inherited from
ts
KeywordProps.borderInline
borderInlineColor?
ts
optional borderInlineColor?: ColorLike;
Inherited from
ts
TokenMappedProps.borderInlineColor
borderInlineEnd?
ts
optional borderInlineEnd?: BorderInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'> || <'border-top-style'> || <color>

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-end

Inherited from
ts
KeywordProps.borderInlineEnd
borderInlineEndColor?
ts
optional borderInlineEndColor?: BorderInlineEndColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-color'>

Initial value: currentcolor

ChromeFirefoxSafariEdgeIE
694112.179No
3 (-moz-border-end-color)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-end-color

Inherited from
ts
KeywordProps.borderInlineEndColor
borderInlineEndStyle?
ts
optional borderInlineEndStyle?: BorderInlineEndStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-style'>

Initial value: none

ChromeFirefoxSafariEdgeIE
694112.179No
3 (-moz-border-end-style)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-end-style

Inherited from
ts
KeywordProps.borderInlineEndStyle
borderInlineEndWidth?
ts
optional borderInlineEndWidth?: BorderInlineEndWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'>

Initial value: medium

ChromeFirefoxSafariEdgeIE
694112.179No
3 (-moz-border-end-width)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-end-width

Inherited from
ts
KeywordProps.borderInlineEndWidth
borderInlineStart?
ts
optional borderInlineStart?: BorderInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'> || <'border-top-style'> || <color>

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-start

Inherited from
ts
KeywordProps.borderInlineStart
borderInlineStartColor?
ts
optional borderInlineStartColor?: BorderInlineStartColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-color'>

Initial value: currentcolor

ChromeFirefoxSafariEdgeIE
694112.179No
3 (-moz-border-start-color)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-start-color

Inherited from
ts
KeywordProps.borderInlineStartColor
borderInlineStartStyle?
ts
optional borderInlineStartStyle?: BorderInlineStartStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-style'>

Initial value: none

ChromeFirefoxSafariEdgeIE
694112.179No
3 (-moz-border-start-style)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-start-style

Inherited from
ts
KeywordProps.borderInlineStartStyle
borderInlineStartWidth?
ts
optional borderInlineStartWidth?: BorderInlineStartWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'>

Initial value: medium

ChromeFirefoxSafariEdgeIE
694112.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-start-width

Inherited from
ts
KeywordProps.borderInlineStartWidth
borderInlineStyle?
ts
optional borderInlineStyle?: BorderInlineStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'border-top-style'>{1,2}

Initial value: none

ChromeFirefoxSafariEdgeIE
876614.187No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-style

Inherited from
ts
KeywordProps.borderInlineStyle
borderInlineWidth?
ts
optional borderInlineWidth?: BorderInlineWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'border-top-width'>{1,2}

Initial value: medium

ChromeFirefoxSafariEdgeIE
876614.187No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-inline-width

Inherited from
ts
KeywordProps.borderInlineWidth
borderLeft?
ts
optional borderLeft?: BorderLeft<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-width> || <line-style> || <color>

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-left

Inherited from
ts
KeywordProps.borderLeft
borderLeftColor?
ts
optional borderLeftColor?: ColorLike;
Inherited from
ts
TokenMappedProps.borderLeftColor
borderLeftStyle?
ts
optional borderLeftStyle?: BorderLeftStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-style>

Initial value: none

ChromeFirefoxSafariEdgeIE
111125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-left-style

Inherited from
ts
KeywordProps.borderLeftStyle
borderLeftWidth?
ts
optional borderLeftWidth?: LineWidth;
Inherited from
ts
TokenMappedProps.borderLeftWidth
borderRadius?
ts
optional borderRadius?: Size | Repeat1to4<PadItem>;
Inherited from
ts
TokenMappedProps.borderRadius
borderRight?
ts
optional borderRight?: BorderRight<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-width> || <line-style> || <color>

ChromeFirefoxSafariEdgeIE
111125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-right

Inherited from
ts
KeywordProps.borderRight
borderRightColor?
ts
optional borderRightColor?: ColorLike;
Inherited from
ts
TokenMappedProps.borderRightColor
borderRightStyle?
ts
optional borderRightStyle?: BorderRightStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-style>

Initial value: none

ChromeFirefoxSafariEdgeIE
111125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-right-style

Inherited from
ts
KeywordProps.borderRightStyle
borderRightWidth?
ts
optional borderRightWidth?: LineWidth;
Inherited from
ts
TokenMappedProps.borderRightWidth
borderSpacing?
ts
optional borderSpacing?: BorderSpacing<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length>{1,2}

Initial value: 0

ChromeFirefoxSafariEdgeIE
111128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-spacing

Inherited from
ts
KeywordProps.borderSpacing
borderStartEndRadius?
ts
optional borderStartEndRadius?: BorderStartEndRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <'border-top-left-radius'>

Initial value: 0

ChromeFirefoxSafariEdgeIE
89661589No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-start-end-radius

Inherited from
ts
KeywordProps.borderStartEndRadius
borderStartStartRadius?
ts
optional borderStartStartRadius?: BorderStartStartRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <'border-top-left-radius'>

Initial value: 0

ChromeFirefoxSafariEdgeIE
89661589No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-start-start-radius

Inherited from
ts
KeywordProps.borderStartStartRadius
borderStyle?
ts
optional borderStyle?: BorderStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-style>{1,4}

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-style

Inherited from
ts
KeywordProps.borderStyle
borderTop?
ts
optional borderTop?: BorderTop<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-width> || <line-style> || <color>

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-top

Inherited from
ts
KeywordProps.borderTop
borderTopColor?
ts
optional borderTopColor?: ColorLike;
Inherited from
ts
TokenMappedProps.borderTopColor
borderTopLeftRadius?
ts
optional borderTopLeftRadius?: Size;
Inherited from
ts
TokenMappedProps.borderTopLeftRadius
borderTopRightRadius?
ts
optional borderTopRightRadius?: Size;
Inherited from
ts
TokenMappedProps.borderTopRightRadius
borderTopStyle?
ts
optional borderTopStyle?: BorderTopStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-style>

Initial value: none

ChromeFirefoxSafariEdgeIE
111125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-top-style

Inherited from
ts
KeywordProps.borderTopStyle
borderTopWidth?
ts
optional borderTopWidth?: LineWidth;
Inherited from
ts
TokenMappedProps.borderTopWidth
borderWidth?
ts
optional borderWidth?: BorderWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-width>{1,4}

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-width

Inherited from
ts
KeywordProps.borderWidth
bottom?
ts
optional bottom?: SizeAuto;
Inherited from
ts
TokenMappedProps.bottom
boxAlign?
ts
optional boxAlign?: BoxAlign;

The box-align CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.

Syntax: start | center | end | baseline | stretch

Initial value: stretch

Deprecated
Inherited from
ts
KeywordProps.boxAlign
boxDecorationBreak?
ts
optional boxDecorationBreak?: BoxDecorationBreak;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: slice | clone

Initial value: slice

ChromeFirefoxSafariEdgeIE
130327 -x-130No
22 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/box-decoration-break

Inherited from
ts
KeywordProps.boxDecorationBreak
boxDirection?
ts
optional boxDirection?: BoxDirection;

The box-direction CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).

Syntax: normal | reverse | inherit

Initial value: normal

Deprecated
Inherited from
ts
KeywordProps.boxDirection
boxFlex?
ts
optional boxFlex?: BoxFlex;

The -moz-box-flex and -webkit-box-flex CSS properties specify how a -moz-box or -webkit-box grows to fill the box that contains it, in the direction of the containing box's layout.

Syntax: <number>

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.boxFlex
boxFlexGroup?
ts
optional boxFlexGroup?: BoxFlexGroup;

The box-flex-group CSS property assigns the flexbox's child elements to a flex group.

Syntax: <integer>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.boxFlexGroup
boxLines?
ts
optional boxLines?: BoxLines;

The box-lines CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).

Syntax: single | multiple

Initial value: single

Deprecated
Inherited from
ts
KeywordProps.boxLines
boxOrdinalGroup?
ts
optional boxOrdinalGroup?: BoxOrdinalGroup;

The box-ordinal-group CSS property assigns the flexbox's child elements to an ordinal group.

Syntax: <integer>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.boxOrdinalGroup
boxOrient?
ts
optional boxOrient?: BoxOrient;

The box-orient CSS property sets whether an element lays out its contents horizontally or vertically.

Syntax: horizontal | vertical | inline-axis | block-axis | inherit

Initial value: inline-axis

Deprecated
Inherited from
ts
KeywordProps.boxOrient
boxPack?
ts
optional boxPack?: BoxPack;

The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.

Syntax: start | center | end | justify

Initial value: start

Deprecated
Inherited from
ts
KeywordProps.boxPack
boxShadow?
ts
optional boxShadow?: ShadowLike;
Inherited from
ts
TokenMappedProps.boxShadow
boxSizing?
ts
optional boxSizing?: BoxSizing;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: content-box | border-box

Initial value: content-box

ChromeFirefoxSafariEdgeIE
10295.1128
1 -x-1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/box-sizing

Inherited from
ts
KeywordProps.boxSizing
breakAfter?
ts
optional breakAfter?: BreakAfter;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2019.

Syntax: auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region

Initial value: auto

ChromeFirefoxSafariEdgeIE
5065101210
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/break-after

Inherited from
ts
KeywordProps.breakAfter
breakBefore?
ts
optional breakBefore?: BreakBefore;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2019.

Syntax: auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region

Initial value: auto

ChromeFirefoxSafariEdgeIE
5065101210
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/break-before

Inherited from
ts
KeywordProps.breakBefore
breakInside?
ts
optional breakInside?: BreakInside;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2019.

Syntax: auto | avoid | avoid-page | avoid-column | avoid-region

Initial value: auto

ChromeFirefoxSafariEdgeIE
5065101210
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/break-inside

Inherited from
ts
KeywordProps.breakInside
captionSide?
ts
optional captionSide?: CaptionSide;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: top | bottom

Initial value: top

ChromeFirefoxSafariEdgeIE
111128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/caption-side

Inherited from
ts
KeywordProps.captionSide
caret?
ts
optional caret?: Caret;

Syntax: <'caret-color'> || <'caret-shape'>

Inherited from
ts
KeywordProps.caret
caretColor?
ts
optional caretColor?: ColorLike;
Inherited from
ts
TokenMappedProps.caretColor
caretShape?
ts
optional caretShape?: CaretShape;

Syntax: auto | bar | block | underscore

Initial value: auto

ChromeFirefoxSafariEdgeIE
NoNoNoNoNo
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/caret-shape

Inherited from
ts
KeywordProps.caretShape
clear?
ts
optional clear?: Clear;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: none | left | right | both | inline-start | inline-end

Initial value: none

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/clear

Inherited from
ts
KeywordProps.clear
clip?
ts
optional clip?: Clip;

The clip CSS property defines a visible portion of an element. The clip property applies only to absolutely positioned elements — that is, elements with position:absolute or position:fixed.

Syntax: <shape> | auto

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.clip
clipPath?
ts
optional clipPath?: ClipPath;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <clip-source> | [ <basic-shape> || <geometry-box> ] | none

Initial value: none

ChromeFirefoxSafariEdgeIE
553.59.17910
23 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/clip-path

Inherited from
ts
KeywordProps.clipPath
clipRule?
ts
optional clipRule?: ClipRule;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: nonzero | evenodd

Initial value: nonzero

ChromeFirefoxSafariEdgeIE
≤153.5≤579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/clip-rule

Inherited from
ts
KeywordProps.clipRule
color?
ts
optional color?: ColorLike;
Inherited from
ts
TokenMappedProps.color
colorAdjust?
ts
optional colorAdjust?: PrintColorAdjust;

Since May 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: economy | exact

Initial value: economy

ChromeFirefoxSafariEdgeIE
1369715.4136No
17 -x-48 (color-adjust)6 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/print-color-adjust

Inherited from
ts
KeywordProps.colorAdjust
colorInterpolation?
ts
optional colorInterpolation?: ColorInterpolation;
Inherited from
ts
KeywordProps.colorInterpolation
colorInterpolationFilters?
ts
optional colorInterpolationFilters?: ColorInterpolationFilters;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | sRGB | linearRGB

Initial value: linearRGB

ChromeFirefoxSafariEdgeIE
13379No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/color-interpolation-filters

Inherited from
ts
KeywordProps.colorInterpolationFilters
colorRendering?
ts
optional colorRendering?: ColorRendering;
Inherited from
ts
KeywordProps.colorRendering
colorScheme?
ts
optional colorScheme?: ColorScheme;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2022.

Syntax: normal | [ light | dark | <custom-ident> ]+ && only?

Initial value: normal

ChromeFirefoxSafariEdgeIE
81961381No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/color-scheme

Inherited from
ts
KeywordProps.colorScheme
columnCount?
ts
optional columnCount?: ColumnCount;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <integer> | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
505291210
1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-count

Inherited from
ts
KeywordProps.columnCount
columnFill?
ts
optional columnFill?: ColumnFill;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: auto | balance

Initial value: balance

ChromeFirefoxSafariEdgeIE
505291210
8 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-fill

Inherited from
ts
KeywordProps.columnFill
columnGap?
ts
optional columnGap?: Size;
Inherited from
ts
TokenMappedProps.columnGap
columnRule?
ts
optional columnRule?: ColumnRule<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>

ChromeFirefoxSafariEdgeIE
505291210
1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-rule

Inherited from
ts
KeywordProps.columnRule
columnRuleColor?
ts
optional columnRuleColor?: ColorLike;
Inherited from
ts
TokenMappedProps.columnRuleColor
columnRuleStyle?
ts
optional columnRuleStyle?: ColumnRuleStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'border-style'>

Initial value: none

ChromeFirefoxSafariEdgeIE
505291210
1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-rule-style

Inherited from
ts
KeywordProps.columnRuleStyle
columnRuleWidth?
ts
optional columnRuleWidth?: ColumnRuleWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'border-width'>

Initial value: medium

ChromeFirefoxSafariEdgeIE
505291210
1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-rule-width

Inherited from
ts
KeywordProps.columnRuleWidth
columns?
ts
optional columns?: Columns<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'column-width'> || <'column-count'>

ChromeFirefoxSafariEdgeIE
505291210
3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/columns

Inherited from
ts
KeywordProps.columns
columnSpan?
ts
optional columnSpan?: ColumnSpan;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: none | all

Initial value: none

ChromeFirefoxSafariEdgeIE
507191210
6 -x-5.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-span

Inherited from
ts
KeywordProps.columnSpan
columnWidth?
ts
optional columnWidth?: ColumnWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2016.

Syntax: <length> | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
505091210
1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-width

Inherited from
ts
KeywordProps.columnWidth
contain?
ts
optional contain?: Contain;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | strict | content | [ [ size || inline-size ] || layout || style || paint ]

Initial value: none

ChromeFirefoxSafariEdgeIE
526915.479No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/contain

Inherited from
ts
KeywordProps.contain
container?
ts
optional container?: Container;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023.

Syntax: <'container-name'> [ / <'container-type'> ]?

ChromeFirefoxSafariEdgeIE
10511016105No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/container

Inherited from
ts
KeywordProps.container
containerName?
ts
optional containerName?: ContainerName;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023.

Syntax: none | <custom-ident>+

Initial value: none

ChromeFirefoxSafariEdgeIE
10511016105No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/container-name

Inherited from
ts
KeywordProps.containerName
containerType?
ts
optional containerType?: ContainerType;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023.

Syntax: normal | [ [ size | inline-size ] || scroll-state ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
10511016105No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/container-type

Inherited from
ts
KeywordProps.containerType
containIntrinsicBlockSize?
ts
optional containIntrinsicBlockSize?: ContainIntrinsicBlockSize<0 | DimensionToken>;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto? [ none | <length> ]

Initial value: none

ChromeFirefoxSafariEdgeIE
951071795No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/contain-intrinsic-block-size

Inherited from
ts
KeywordProps.containIntrinsicBlockSize
containIntrinsicHeight?
ts
optional containIntrinsicHeight?: ContainIntrinsicHeight<0 | DimensionToken>;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto? [ none | <length> ]

Initial value: none

ChromeFirefoxSafariEdgeIE
951071795No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/contain-intrinsic-height

Inherited from
ts
KeywordProps.containIntrinsicHeight
containIntrinsicInlineSize?
ts
optional containIntrinsicInlineSize?: ContainIntrinsicInlineSize<0 | DimensionToken>;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto? [ none | <length> ]

Initial value: none

ChromeFirefoxSafariEdgeIE
951071795No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/contain-intrinsic-inline-size

Inherited from
ts
KeywordProps.containIntrinsicInlineSize
containIntrinsicSize?
ts
optional containIntrinsicSize?: ContainIntrinsicSize<0 | DimensionToken>;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ auto? [ none | <length> ] ]{1,2}

ChromeFirefoxSafariEdgeIE
831071783No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/contain-intrinsic-size

Inherited from
ts
KeywordProps.containIntrinsicSize
containIntrinsicWidth?
ts
optional containIntrinsicWidth?: ContainIntrinsicWidth<0 | DimensionToken>;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto? [ none | <length> ]

Initial value: none

ChromeFirefoxSafariEdgeIE
951071795No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/contain-intrinsic-width

Inherited from
ts
KeywordProps.containIntrinsicWidth
content?
ts
optional content?: Content;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: normal | none | [ <content-replacement> | <content-list> ] [ / [ <string> | <counter> | <attr()> ]+ ]?

Initial value: normal

ChromeFirefoxSafariEdgeIE
111128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/content

Inherited from
ts
KeywordProps.content
contentVisibility?
ts
optional contentVisibility?: ContentVisibility;

Since September 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: visible | auto | hidden

Initial value: visible

ChromeFirefoxSafariEdgeIE
851251885No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/content-visibility

Inherited from
ts
KeywordProps.contentVisibility
counterIncrement?
ts
optional counterIncrement?: CounterIncrement;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ <counter-name> <integer>? ]+ | none

Initial value: none

ChromeFirefoxSafariEdgeIE
213128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/counter-increment

Inherited from
ts
KeywordProps.counterIncrement
counterReset?
ts
optional counterReset?: CounterReset;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none

Initial value: none

ChromeFirefoxSafariEdgeIE
213128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/counter-reset

Inherited from
ts
KeywordProps.counterReset
counterSet?
ts
optional counterSet?: CounterSet;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ <counter-name> <integer>? ]+ | none

Initial value: none

ChromeFirefoxSafariEdgeIE
856817.285No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/counter-set

Inherited from
ts
KeywordProps.counterSet
cursor?
ts
optional cursor?: Cursor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.

Syntax: [ [ <url> [ <x> <y> ]? , ]* <cursor-predefined> ]

Initial value: auto

ChromeFirefoxSafariEdgeIE
111.2124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/cursor

Inherited from
ts
KeywordProps.cursor
cx?
ts
optional cx?: Cx<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: <length> | <percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
4369979No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/cx

Inherited from
ts
KeywordProps.cx
cy?
ts
optional cy?: Cy<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: <length> | <percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
4369979No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/cy

Inherited from
ts
KeywordProps.cy
d?
ts
optional d?: D;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | path(<string>)

Initial value: none

ChromeFirefoxSafariEdgeIE
5297No79No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/d

Inherited from
ts
KeywordProps.d
direction?
ts
optional direction?: Direction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: ltr | rtl

Initial value: ltr

ChromeFirefoxSafariEdgeIE
211125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/direction

Inherited from
ts
KeywordProps.direction
display?
ts
optional display?: Display;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>

Initial value: inline

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/display

Inherited from
ts
KeywordProps.display
dominantBaseline?
ts
optional dominantBaseline?: DominantBaseline;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top

Initial value: auto

ChromeFirefoxSafariEdgeIE
11479No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/dominant-baseline

Inherited from
ts
KeywordProps.dominantBaseline
emptyCells?
ts
optional emptyCells?: EmptyCells;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: show | hide

Initial value: show

ChromeFirefoxSafariEdgeIE
111.2128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/empty-cells

Inherited from
ts
KeywordProps.emptyCells
fieldSizing?
ts
optional fieldSizing?: FieldSizing;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: content | fixed

Initial value: fixed

ChromeFirefoxSafariEdgeIE
123Nopreview123No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/field-sizing

Inherited from
ts
KeywordProps.fieldSizing
fill?
ts
optional fill?: ColorLike;
Inherited from
ts
TokenMappedProps.fill
fillOpacity?
ts
optional fillOpacity?: FillOpacity;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <'opacity'>

Initial value: 1

ChromeFirefoxSafariEdgeIE
114≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/fill-opacity

Inherited from
ts
KeywordProps.fillOpacity
fillRule?
ts
optional fillRule?: FillRule;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: nonzero | evenodd

Initial value: nonzero

ChromeFirefoxSafariEdgeIE
134≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/fill-rule

Inherited from
ts
KeywordProps.fillRule
filter?
ts
optional filter?: Filter;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

Syntax: none | <filter-value-list>

Initial value: none

ChromeFirefoxSafariEdgeIE
53359.112No
18 -x-6 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/filter

Inherited from
ts
KeywordProps.filter
flex?
ts
optional flex?: Flex<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

ChromeFirefoxSafariEdgeIE
292291211
21 -x-7 -x-10 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/flex

Inherited from
ts
KeywordProps.flex
flexBasis?
ts
optional flexBasis?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.flexBasis
flexDirection?
ts
optional flexDirection?: FlexDirection;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: row | row-reverse | column | column-reverse

Initial value: row

ChromeFirefoxSafariEdgeIE
292291211
21 -x-7 -x-10 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/flex-direction

Inherited from
ts
KeywordProps.flexDirection
flexFlow?
ts
optional flexFlow?: FlexFlow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <'flex-direction'> || <'flex-wrap'>

ChromeFirefoxSafariEdgeIE
292891211
21 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/flex-flow

Inherited from
ts
KeywordProps.flexFlow
flexGrow?
ts
optional flexGrow?: Numeric;
Inherited from
ts
TokenMappedProps.flexGrow
flexShrink?
ts
optional flexShrink?: Numeric;
Inherited from
ts
TokenMappedProps.flexShrink
flexWrap?
ts
optional flexWrap?: FlexWrap;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: nowrap | wrap | wrap-reverse

Initial value: nowrap

ChromeFirefoxSafariEdgeIE
292891211
21 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/flex-wrap

Inherited from
ts
KeywordProps.flexWrap
float?
ts
optional float?: Float;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: left | right | none | inline-start | inline-end

Initial value: none

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/float

Inherited from
ts
KeywordProps.float
floodColor?
ts
optional floodColor?: FloodColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <color>

Initial value: black

ChromeFirefoxSafariEdgeIE
53612≤11
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/flood-color

Inherited from
ts
KeywordProps.floodColor
floodOpacity?
ts
optional floodOpacity?: FloodOpacity;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <'opacity'>

Initial value: black

ChromeFirefoxSafariEdgeIE
53612≤11
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/flood-opacity

Inherited from
ts
KeywordProps.floodOpacity
font?
ts
optional font?: Font;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'># ] | <system-family-name>

ChromeFirefoxSafariEdgeIE
111123
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font

Inherited from
ts
KeywordProps.font
fontFamily?
ts
optional fontFamily?: Wide | FontFamilyToken;
Inherited from
ts
TokenMappedProps.fontFamily
fontFeatureSettings?
ts
optional fontFeatureSettings?: FontFeatureSettings;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: normal | <feature-tag-value>#

Initial value: normal

ChromeFirefoxSafariEdgeIE
48349.11510
16 -x-15 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-feature-settings

Inherited from
ts
KeywordProps.fontFeatureSettings
fontKerning?
ts
optional fontKerning?: FontKerning;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | normal | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
3332979No
6 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-kerning

Inherited from
ts
KeywordProps.fontKerning
fontLanguageOverride?
ts
optional fontLanguageOverride?: FontLanguageOverride;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | <string>

Initial value: normal

ChromeFirefoxSafariEdgeIE
14334No143No
4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-language-override

Inherited from
ts
KeywordProps.fontLanguageOverride
fontOpticalSizing?
ts
optional fontOpticalSizing?: FontOpticalSizing;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2020.

Syntax: auto | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
796213.117No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-optical-sizing

Inherited from
ts
KeywordProps.fontOpticalSizing
fontPalette?
ts
optional fontPalette?: FontPalette;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2022.

Syntax: normal | light | dark | <palette-identifier> | <palette-mix()>

Initial value: normal

ChromeFirefoxSafariEdgeIE
10110715.4101No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-palette

Inherited from
ts
KeywordProps.fontPalette
fontSize?
ts
optional fontSize?: Size;
Inherited from
ts
TokenMappedProps.fontSize
fontSizeAdjust?
ts
optional fontSizeAdjust?: FontSizeAdjust;

Since July 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number> ]

Initial value: none

ChromeFirefoxSafariEdgeIE
127316.4127No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-size-adjust

Inherited from
ts
KeywordProps.fontSizeAdjust
fontSmooth?
ts
optional fontSmooth?: FontSmooth<0 | DimensionToken>;

The font-smooth CSS property controls the application of anti-aliasing when fonts are rendered.

Syntax: auto | never | always | <absolute-size> | <length>

Initial value: auto

ChromeFirefoxSafariEdgeIE
5 (-webkit-font-smoothing)25 (-moz-osx-font-smoothing)4 (-webkit-font-smoothing)79 (-webkit-font-smoothing)No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-smooth

Inherited from
ts
KeywordProps.fontSmooth
fontStretch?
ts
optional fontStretch?: FontStretch;

The font-stretch CSS property selects a normal, condensed, or expanded face from a font.

Syntax: <font-stretch-absolute>

Initial value: normal

Deprecated
Inherited from
ts
KeywordProps.fontStretch
fontStyle?
ts
optional fontStyle?: FontStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: normal | italic | oblique <angle>?

Initial value: normal

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-style

Inherited from
ts
KeywordProps.fontStyle
fontSynthesis?
ts
optional fontSynthesis?: FontSynthesis;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2022.

Syntax: none | [ weight || style || small-caps || position]

Initial value: weight style small-caps position

ChromeFirefoxSafariEdgeIE
9734997No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-synthesis

Inherited from
ts
KeywordProps.fontSynthesis
fontSynthesisPosition?
ts
optional fontSynthesisPosition?: FontSynthesisPosition;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | none

Initial value: none

ChromeFirefoxSafariEdgeIE
No118NoNoNo
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-synthesis-position

Inherited from
ts
KeywordProps.fontSynthesisPosition
fontSynthesisSmallCaps?
ts
optional fontSynthesisSmallCaps?: FontSynthesisSmallCaps;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.

Syntax: auto | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
9711116.497No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-synthesis-small-caps

Inherited from
ts
KeywordProps.fontSynthesisSmallCaps
fontSynthesisStyle?
ts
optional fontSynthesisStyle?: FontSynthesisStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.

Syntax: auto | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
9711116.497No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-synthesis-style

Inherited from
ts
KeywordProps.fontSynthesisStyle
fontSynthesisWeight?
ts
optional fontSynthesisWeight?: FontSynthesisWeight;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.

Syntax: auto | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
9711116.497No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-synthesis-weight

Inherited from
ts
KeywordProps.fontSynthesisWeight
fontVariant?
ts
optional fontVariant?: FontVariant;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant

Inherited from
ts
KeywordProps.fontVariant
fontVariantAlternates?
ts
optional fontVariantAlternates?: FontVariantAlternates;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.

Syntax: normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
111349.1111No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant-alternates

Inherited from
ts
KeywordProps.fontVariantAlternates
fontVariantCaps?
ts
optional fontVariantCaps?: FontVariantCaps;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps

Initial value: normal

ChromeFirefoxSafariEdgeIE
52349.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant-caps

Inherited from
ts
KeywordProps.fontVariantCaps
fontVariantEastAsian?
ts
optional fontVariantEastAsian?: FontVariantEastAsian;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
63349.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant-east-asian

Inherited from
ts
KeywordProps.fontVariantEastAsian
fontVariantEmoji?
ts
optional fontVariantEmoji?: FontVariantEmoji;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | text | emoji | unicode

Initial value: normal

ChromeFirefoxSafariEdgeIE
131141No131No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant-emoji

Inherited from
ts
KeywordProps.fontVariantEmoji
fontVariantLigatures?
ts
optional fontVariantLigatures?: FontVariantLigatures;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
34349.179No
31 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant-ligatures

Inherited from
ts
KeywordProps.fontVariantLigatures
fontVariantNumeric?
ts
optional fontVariantNumeric?: FontVariantNumeric;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
52349.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant-numeric

Inherited from
ts
KeywordProps.fontVariantNumeric
fontVariantPosition?
ts
optional fontVariantPosition?: FontVariantPosition;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | sub | super

Initial value: normal

ChromeFirefoxSafariEdgeIE
No349.1NoNo
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variant-position

Inherited from
ts
KeywordProps.fontVariantPosition
fontVariationSettings?
ts
optional fontVariationSettings?: FontVariationSettings;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.

Syntax: normal | [ <string> <number> ]#

Initial value: normal

ChromeFirefoxSafariEdgeIE
62621117No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/font-variation-settings

Inherited from
ts
KeywordProps.fontVariationSettings
fontWeight?
ts
optional fontWeight?: 
  | "normal"
  | Wide
  | FontWeightToken
  | "bold"
  | "lighter"
  | "bolder";
Inherited from
ts
TokenMappedProps.fontWeight
fontWidth?
ts
optional fontWidth?: FontWidth;

Syntax: normal | <percentage [0,∞]> | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded

Initial value: normal

ChromeFirefoxSafariEdgeIE
NoNo18.4NoNo
Inherited from
ts
KeywordProps.fontWidth
forcedColorAdjust?
ts
optional forcedColorAdjust?: ForcedColorAdjust;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | none | preserve-parent-color

Initial value: auto

ChromeFirefoxSafariEdgeIE
89113No7910 (-ms-high-contrast-adjust)
12 (-ms-high-contrast-adjust)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/forced-color-adjust

Inherited from
ts
KeywordProps.forcedColorAdjust
gap?
ts
optional gap?: Size | readonly [PadItem, PadItem];
Inherited from
ts
TokenMappedProps.gap
glyphOrientationVertical?
ts
optional glyphOrientationVertical?: GlyphOrientationVertical;
Inherited from
ts
KeywordProps.glyphOrientationVertical
grid?
ts
optional grid?: Grid;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid

Inherited from
ts
KeywordProps.grid
gridArea?
ts
optional gridArea?: GridArea;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <grid-line> [ / <grid-line> ]{0,3}

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-area

Inherited from
ts
KeywordProps.gridArea
gridAutoColumns?
ts
optional gridAutoColumns?: GridAutoColumns<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: <track-size>+

Initial value: auto

ChromeFirefoxSafariEdgeIE
577010.11610 (-ms-grid-columns)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-auto-columns

Inherited from
ts
KeywordProps.gridAutoColumns
gridAutoFlow?
ts
optional gridAutoFlow?: GridAutoFlow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: [ row | column ] || dense

Initial value: row

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-auto-flow

Inherited from
ts
KeywordProps.gridAutoFlow
gridAutoRows?
ts
optional gridAutoRows?: GridAutoRows<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: <track-size>+

Initial value: auto

ChromeFirefoxSafariEdgeIE
577010.11610 (-ms-grid-rows)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-auto-rows

Inherited from
ts
KeywordProps.gridAutoRows
gridColumn?
ts
optional gridColumn?: GridColumn;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <grid-line> [ / <grid-line> ]?

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-column

Inherited from
ts
KeywordProps.gridColumn
gridColumnEnd?
ts
optional gridColumnEnd?: GridColumnEnd;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <grid-line>

Initial value: auto

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-column-end

Inherited from
ts
KeywordProps.gridColumnEnd
gridColumnGap?
ts
optional gridColumnGap?: GridColumnGap<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage>

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.gridColumnGap
gridColumnStart?
ts
optional gridColumnStart?: GridColumnStart;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <grid-line>

Initial value: auto

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-column-start

Inherited from
ts
KeywordProps.gridColumnStart
gridGap?
ts
optional gridGap?: GridGap<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <'grid-row-gap'> <'grid-column-gap'>?

Deprecated
Inherited from
ts
KeywordProps.gridGap
gridRow?
ts
optional gridRow?: GridRow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <grid-line> [ / <grid-line> ]?

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-row

Inherited from
ts
KeywordProps.gridRow
gridRowEnd?
ts
optional gridRowEnd?: GridRowEnd;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <grid-line>

Initial value: auto

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-row-end

Inherited from
ts
KeywordProps.gridRowEnd
gridRowGap?
ts
optional gridRowGap?: GridRowGap<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <length-percentage>

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.gridRowGap
gridRowStart?
ts
optional gridRowStart?: GridRowStart;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: <grid-line>

Initial value: auto

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-row-start

Inherited from
ts
KeywordProps.gridRowStart
gridTemplate?
ts
optional gridTemplate?: GridTemplate;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-template

Inherited from
ts
KeywordProps.gridTemplate
gridTemplateAreas?
ts
optional gridTemplateAreas?: GridTemplateAreas;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: none | <string>+

Initial value: none

ChromeFirefoxSafariEdgeIE
575210.116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-template-areas

Inherited from
ts
KeywordProps.gridTemplateAreas
gridTemplateColumns?
ts
optional gridTemplateColumns?: GridTemplateColumns<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: none | <track-list> | <auto-track-list> | subgrid <line-name-list>?

Initial value: none

ChromeFirefoxSafariEdgeIE
575210.11610 (-ms-grid-columns)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-template-columns

Inherited from
ts
KeywordProps.gridTemplateColumns
gridTemplateRows?
ts
optional gridTemplateRows?: GridTemplateRows<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: none | <track-list> | <auto-track-list> | subgrid <line-name-list>?

Initial value: none

ChromeFirefoxSafariEdgeIE
575210.11610 (-ms-grid-rows)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid-template-rows

Inherited from
ts
KeywordProps.gridTemplateRows
hangingPunctuation?
ts
optional hangingPunctuation?: HangingPunctuation;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | [ first || [ force-end | allow-end ] || last ]

Initial value: none

ChromeFirefoxSafariEdgeIE
NoNo10NoNo
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/hanging-punctuation

Inherited from
ts
KeywordProps.hangingPunctuation
height?
ts
optional height?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.height
hyphenateCharacter?
ts
optional hyphenateCharacter?: HyphenateCharacter;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto | <string>

Initial value: auto

ChromeFirefoxSafariEdgeIE
1069817106No
6 -x-5.1 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/hyphenate-character

Inherited from
ts
KeywordProps.hyphenateCharacter
hyphenateLimitChars?
ts
optional hyphenateLimitChars?: HyphenateLimitChars;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ auto | <integer> ]{1,3}

Initial value: auto

ChromeFirefoxSafariEdgeIE
109137No109No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/hyphenate-limit-chars

Inherited from
ts
KeywordProps.hyphenateLimitChars
hyphens?
ts
optional hyphens?: Hyphens;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | manual | auto

Initial value: manual

ChromeFirefoxSafariEdgeIE
5543177910 -x-
13 -x-6 -x-5.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/hyphens

Inherited from
ts
KeywordProps.hyphens
imageOrientation?
ts
optional imageOrientation?: ImageOrientation;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2020.

Syntax: from-image | <angle> | [ <angle>? flip ]

Initial value: from-image

ChromeFirefoxSafariEdgeIE
812613.181No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/image-orientation

Inherited from
ts
KeywordProps.imageOrientation
imageRendering?
ts
optional imageRendering?: ImageRendering;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | crisp-edges | pixelated | smooth

Initial value: auto

ChromeFirefoxSafariEdgeIE
133.6679No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/image-rendering

Inherited from
ts
KeywordProps.imageRendering
imageResolution?
ts
optional imageResolution?: ImageResolution;

The image-resolution CSS property specifies the intrinsic resolution of all raster images used in or on the element. It affects content images such as replaced elements and generated content, and decorative images such as background-image images.

Syntax: [ from-image || <resolution> ] && snap?

Initial value: 1dppx

Inherited from
ts
KeywordProps.imageResolution
imeMode?
ts
optional imeMode?: ImeMode;

Syntax: auto | normal | active | inactive | disabled

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.imeMode
initialLetter?
ts
optional initialLetter?: InitialLetter;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | [ <number> <integer>? ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
110No9 -x-110No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/initial-letter

Inherited from
ts
KeywordProps.initialLetter
initialLetterAlign?
ts
optional initialLetterAlign?: InitialLetterAlign;

Syntax: [ auto | alphabetic | hanging | ideographic ]

Initial value: auto

Inherited from
ts
KeywordProps.initialLetterAlign
inlineSize?
ts
optional inlineSize?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.inlineSize
inset?
ts
optional inset?: SizeAuto | Repeat1to4<MarginItem>;
Inherited from
ts
TokenMappedProps.inset
insetArea?
ts
optional insetArea?: PositionArea;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <position-area>

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.insetArea
insetBlock?
ts
optional insetBlock?: SizeAuto | readonly [MarginItem, MarginItem];
Inherited from
ts
TokenMappedProps.insetBlock
insetBlockEnd?
ts
optional insetBlockEnd?: SizeAuto;
Inherited from
ts
TokenMappedProps.insetBlockEnd
insetBlockStart?
ts
optional insetBlockStart?: SizeAuto;
Inherited from
ts
TokenMappedProps.insetBlockStart
insetInline?
ts
optional insetInline?: SizeAuto | readonly [MarginItem, MarginItem];
Inherited from
ts
TokenMappedProps.insetInline
insetInlineEnd?
ts
optional insetInlineEnd?: SizeAuto;
Inherited from
ts
TokenMappedProps.insetInlineEnd
insetInlineStart?
ts
optional insetInlineStart?: SizeAuto;
Inherited from
ts
TokenMappedProps.insetInlineStart
interpolateSize?
ts
optional interpolateSize?: InterpolateSize;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: numeric-only | allow-keywords

Initial value: numeric-only

ChromeFirefoxSafariEdgeIE
129NoNo129No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/interpolate-size

Inherited from
ts
KeywordProps.interpolateSize
isolation?
ts
optional isolation?: Isolation;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | isolate

Initial value: auto

ChromeFirefoxSafariEdgeIE
4136879No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/isolation

Inherited from
ts
KeywordProps.isolation
justifyContent?
ts
optional justifyContent?: JustifyContent;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
292091211
21 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/justify-content

Inherited from
ts
KeywordProps.justifyContent
justifyItems?
ts
optional justifyItems?: JustifyItems;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2016.

Syntax: normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ] | anchor-center

Initial value: legacy

ChromeFirefoxSafariEdgeIE
522091211
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/justify-items

Inherited from
ts
KeywordProps.justifyItems
justifySelf?
ts
optional justifySelf?: JustifySelf;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | anchor-center

Initial value: auto

ChromeFirefoxSafariEdgeIE
574510.11610
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/justify-self

Inherited from
ts
KeywordProps.justifySelf
justifyTracks?
ts
optional justifyTracks?: JustifyTracks;

Syntax: [ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#

Initial value: normal

Inherited from
ts
KeywordProps.justifyTracks
KhtmlBoxAlign?
ts
optional KhtmlBoxAlign?: BoxAlign;

The box-align CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.

Syntax: start | center | end | baseline | stretch

Initial value: stretch

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxAlign
KhtmlBoxDirection?
ts
optional KhtmlBoxDirection?: BoxDirection;

The box-direction CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).

Syntax: normal | reverse | inherit

Initial value: normal

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxDirection
KhtmlBoxFlex?
ts
optional KhtmlBoxFlex?: BoxFlex;

The -moz-box-flex and -webkit-box-flex CSS properties specify how a -moz-box or -webkit-box grows to fill the box that contains it, in the direction of the containing box's layout.

Syntax: <number>

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxFlex
KhtmlBoxFlexGroup?
ts
optional KhtmlBoxFlexGroup?: BoxFlexGroup;

The box-flex-group CSS property assigns the flexbox's child elements to a flex group.

Syntax: <integer>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxFlexGroup
KhtmlBoxLines?
ts
optional KhtmlBoxLines?: BoxLines;

The box-lines CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).

Syntax: single | multiple

Initial value: single

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxLines
KhtmlBoxOrdinalGroup?
ts
optional KhtmlBoxOrdinalGroup?: BoxOrdinalGroup;

The box-ordinal-group CSS property assigns the flexbox's child elements to an ordinal group.

Syntax: <integer>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxOrdinalGroup
KhtmlBoxOrient?
ts
optional KhtmlBoxOrient?: BoxOrient;

The box-orient CSS property sets whether an element lays out its contents horizontally or vertically.

Syntax: horizontal | vertical | inline-axis | block-axis | inherit

Initial value: inline-axis

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxOrient
KhtmlBoxPack?
ts
optional KhtmlBoxPack?: BoxPack;

The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.

Syntax: start | center | end | justify

Initial value: start

Deprecated
Inherited from
ts
KeywordProps.KhtmlBoxPack
KhtmlLineBreak?
ts
optional KhtmlLineBreak?: LineBreak;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: auto | loose | normal | strict | anywhere

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.KhtmlLineBreak
KhtmlOpacity?
ts
optional KhtmlOpacity?: Opacity;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <opacity-value>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.KhtmlOpacity
KhtmlUserSelect?
ts
optional KhtmlUserSelect?: UserSelect;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | text | none | all

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.KhtmlUserSelect
left?
ts
optional left?: SizeAuto;
Inherited from
ts
TokenMappedProps.left
letterSpacing?
ts
optional letterSpacing?: SpacingText;
Inherited from
ts
TokenMappedProps.letterSpacing
lightingColor?
ts
optional lightingColor?: LightingColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <color>

Initial value: white

ChromeFirefoxSafariEdgeIE
53612≤11
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/lighting-color

Inherited from
ts
KeywordProps.lightingColor
lineBreak?
ts
optional lineBreak?: LineBreak;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: auto | loose | normal | strict | anywhere

Initial value: auto

ChromeFirefoxSafariEdgeIE
586911145.5
1 -x-3 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/line-break

Inherited from
ts
KeywordProps.lineBreak
lineClamp?
ts
optional lineClamp?: LineClamp;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <integer>

Initial value: none

ChromeFirefoxSafariEdgeIE
6 -x-68 -x-18.2-18.417 -x-No
5 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/line-clamp

Inherited from
ts
KeywordProps.lineClamp
lineHeight?
ts
optional lineHeight?: 
  | DimensionToken
  | "normal"
  | Wide
  | NumberToken;
Inherited from
ts
TokenMappedProps.lineHeight
lineHeightStep?
ts
optional lineHeightStep?: LineHeightStep<0 | DimensionToken>;

The line-height-step CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit.

Syntax: <length>

Initial value: 0

Inherited from
ts
KeywordProps.lineHeightStep
listStyle?
ts
optional listStyle?: ListStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <'list-style-type'> || <'list-style-position'> || <'list-style-image'>

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/list-style

Inherited from
ts
KeywordProps.listStyle
listStyleImage?
ts
optional listStyleImage?: ListStyleImage;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <image> | none

Initial value: none

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/list-style-image

Inherited from
ts
KeywordProps.listStyleImage
listStylePosition?
ts
optional listStylePosition?: ListStylePosition;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: inside | outside

Initial value: outside

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/list-style-position

Inherited from
ts
KeywordProps.listStylePosition
listStyleType?
ts
optional listStyleType?: ListStyleType;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <counter-style> | <string> | none

Initial value: disc

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/list-style-type

Inherited from
ts
KeywordProps.listStyleType
margin?
ts
optional margin?: SizeAuto | Repeat1to4<MarginItem>;
Inherited from
ts
TokenMappedProps.margin
marginBlock?
ts
optional marginBlock?: SizeAuto | readonly [MarginItem, MarginItem];
Inherited from
ts
TokenMappedProps.marginBlock
marginBlockEnd?
ts
optional marginBlockEnd?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginBlockEnd
marginBlockStart?
ts
optional marginBlockStart?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginBlockStart
marginBottom?
ts
optional marginBottom?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginBottom
marginInline?
ts
optional marginInline?: SizeAuto | readonly [MarginItem, MarginItem];
Inherited from
ts
TokenMappedProps.marginInline
marginInlineEnd?
ts
optional marginInlineEnd?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginInlineEnd
marginInlineStart?
ts
optional marginInlineStart?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginInlineStart
marginLeft?
ts
optional marginLeft?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginLeft
marginRight?
ts
optional marginRight?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginRight
marginTop?
ts
optional marginTop?: SizeAuto;
Inherited from
ts
TokenMappedProps.marginTop
marginTrim?
ts
optional marginTrim?: MarginTrim;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | in-flow | all

Initial value: none

ChromeFirefoxSafariEdgeIE
NoNo16.4NoNo
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/margin-trim

Inherited from
ts
KeywordProps.marginTrim
marker?
ts
optional marker?: Marker;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: none | <url>

ChromeFirefoxSafariEdgeIE
134≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/marker

Inherited from
ts
KeywordProps.marker
markerEnd?
ts
optional markerEnd?: MarkerEnd;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: none | <url>

Initial value: none

ChromeFirefoxSafariEdgeIE
134≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/marker-end

Inherited from
ts
KeywordProps.markerEnd
markerMid?
ts
optional markerMid?: MarkerMid;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: none | <url>

Initial value: none

ChromeFirefoxSafariEdgeIE
134≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/marker-mid

Inherited from
ts
KeywordProps.markerMid
markerStart?
ts
optional markerStart?: MarkerStart;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: none | <url>

Initial value: none

ChromeFirefoxSafariEdgeIE
134≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/marker-start

Inherited from
ts
KeywordProps.markerStart
mask?
ts
optional mask?: Mask<0 | DimensionToken>;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <mask-layer>#

ChromeFirefoxSafariEdgeIE
1205315.412-79No
1 -x-3.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask

Inherited from
ts
KeywordProps.mask
maskBorder?
ts
optional maskBorder?: MaskBorder;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>

ChromeFirefoxSafariEdgeIE
1 (-webkit-mask-box-image)No17.279 (-webkit-mask-box-image)No
3.1 (-webkit-mask-box-image)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-border

Inherited from
ts
KeywordProps.maskBorder
maskBorderMode?
ts
optional maskBorderMode?: MaskBorderMode;

The mask-border-mode CSS property specifies the blending mode used in a mask border.

Syntax: luminance | alpha

Initial value: alpha

Inherited from
ts
KeywordProps.maskBorderMode
maskBorderOutset?
ts
optional maskBorderOutset?: MaskBorderOutset<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ <length> | <number> ]{1,4}

Initial value: 0

ChromeFirefoxSafariEdgeIE
1 (-webkit-mask-box-image-outset)No17.279 (-webkit-mask-box-image-outset)No
3.1 (-webkit-mask-box-image-outset)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-border-outset

Inherited from
ts
KeywordProps.maskBorderOutset
maskBorderRepeat?
ts
optional maskBorderRepeat?: MaskBorderRepeat;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ stretch | repeat | round | space ]{1,2}

Initial value: stretch

ChromeFirefoxSafariEdgeIE
1 (-webkit-mask-box-image-repeat)No17.279 (-webkit-mask-box-image-repeat)No
3.1 (-webkit-mask-box-image-repeat)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-border-repeat

Inherited from
ts
KeywordProps.maskBorderRepeat
maskBorderSlice?
ts
optional maskBorderSlice?: MaskBorderSlice;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <number-percentage>{1,4} fill?

Initial value: 0

ChromeFirefoxSafariEdgeIE
1 (-webkit-mask-box-image-slice)No17.279 (-webkit-mask-box-image-slice)No
3.1 (-webkit-mask-box-image-slice)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-border-slice

Inherited from
ts
KeywordProps.maskBorderSlice
maskBorderSource?
ts
optional maskBorderSource?: MaskBorderSource;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <image>

Initial value: none

ChromeFirefoxSafariEdgeIE
1 (-webkit-mask-box-image-source)No17.279 (-webkit-mask-box-image-source)No
3.1 (-webkit-mask-box-image-source)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-border-source

Inherited from
ts
KeywordProps.maskBorderSource
maskBorderWidth?
ts
optional maskBorderWidth?: MaskBorderWidth<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ <length-percentage> | <number> | auto ]{1,4}

Initial value: auto

ChromeFirefoxSafariEdgeIE
1 (-webkit-mask-box-image-width)No17.279 (-webkit-mask-box-image-width)No
3.1 (-webkit-mask-box-image-width)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-border-width

Inherited from
ts
KeywordProps.maskBorderWidth
maskClip?
ts
optional maskClip?: MaskClip;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ <coord-box> | no-clip ]#

Initial value: border-box

ChromeFirefoxSafariEdgeIE
1205315.4120No
1 -x-4 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-clip

Inherited from
ts
KeywordProps.maskClip
maskComposite?
ts
optional maskComposite?: MaskComposite;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <compositing-operator>#

Initial value: add

ChromeFirefoxSafariEdgeIE
1205315.418-79No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-composite

Inherited from
ts
KeywordProps.maskComposite
maskImage?
ts
optional maskImage?: MaskImage;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <mask-reference>#

Initial value: none

ChromeFirefoxSafariEdgeIE
1205315.416-79No
1 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-image

Inherited from
ts
KeywordProps.maskImage
maskMode?
ts
optional maskMode?: MaskMode;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <masking-mode>#

Initial value: match-source

ChromeFirefoxSafariEdgeIE
1205315.4120No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-mode

Inherited from
ts
KeywordProps.maskMode
maskOrigin?
ts
optional maskOrigin?: MaskOrigin;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <coord-box>#

Initial value: border-box

ChromeFirefoxSafariEdgeIE
1205315.4120No
1 -x-4 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-origin

Inherited from
ts
KeywordProps.maskOrigin
maskPosition?
ts
optional maskPosition?: MaskPosition<0 | DimensionToken>;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <position>#

Initial value: 0% 0%

ChromeFirefoxSafariEdgeIE
1205315.418-79No
1 -x-3.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-position

Inherited from
ts
KeywordProps.maskPosition
maskRepeat?
ts
optional maskRepeat?: MaskRepeat;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <repeat-style>#

Initial value: repeat

ChromeFirefoxSafariEdgeIE
1205315.418-79No
1 -x-3.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-repeat

Inherited from
ts
KeywordProps.maskRepeat
maskSize?
ts
optional maskSize?: MaskSize<0 | DimensionToken>;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <bg-size>#

Initial value: auto

ChromeFirefoxSafariEdgeIE
1205315.418-79No
4 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-size

Inherited from
ts
KeywordProps.maskSize
maskType?
ts
optional maskType?: MaskType;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: luminance | alpha

Initial value: luminance

ChromeFirefoxSafariEdgeIE
2435779No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mask-type

Inherited from
ts
KeywordProps.maskType
masonryAutoFlow?
ts
optional masonryAutoFlow?: MasonryAutoFlow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.

Syntax: [ pack | next ] || [ definite-first | ordered ]

Initial value: pack

Inherited from
ts
KeywordProps.masonryAutoFlow
mathDepth?
ts
optional mathDepth?: MathDepth;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto-add | add(<integer>) | <integer>

Initial value: 0

ChromeFirefoxSafariEdgeIE
109117No109No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/math-depth

Inherited from
ts
KeywordProps.mathDepth
mathShift?
ts
optional mathShift?: MathShift;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | compact

Initial value: normal

ChromeFirefoxSafariEdgeIE
109NoNo109No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/math-shift

Inherited from
ts
KeywordProps.mathShift
mathStyle?
ts
optional mathStyle?: MathStyle;

Since August 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: normal | compact

Initial value: normal

ChromeFirefoxSafariEdgeIE
10911714.1109No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/math-style

Inherited from
ts
KeywordProps.mathStyle
maxBlockSize?
ts
optional maxBlockSize?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.maxBlockSize
maxHeight?
ts
optional maxHeight?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.maxHeight
maxInlineSize?
ts
optional maxInlineSize?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.maxInlineSize
maxLines?
ts
optional maxLines?: MaxLines;

Syntax: none | <integer>

Initial value: none

Inherited from
ts
KeywordProps.maxLines
maxWidth?
ts
optional maxWidth?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.maxWidth
minBlockSize?
ts
optional minBlockSize?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.minBlockSize
minHeight?
ts
optional minHeight?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.minHeight
minInlineSize?
ts
optional minInlineSize?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.minInlineSize
minWidth?
ts
optional minWidth?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.minWidth
mixBlendMode?
ts
optional mixBlendMode?: MixBlendMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <blend-mode> | plus-darker | plus-lighter

Initial value: normal

ChromeFirefoxSafariEdgeIE
4132879No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/mix-blend-mode

Inherited from
ts
KeywordProps.mixBlendMode
motion?
ts
optional motion?: Offset<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: [ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?

ChromeFirefoxSafariEdgeIE
55721679No
46 (motion)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset

Inherited from
ts
KeywordProps.motion
motionDistance?
ts
optional motionDistance?: OffsetDistance<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: <length-percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
55721679No
46 (motion-distance)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-distance

Inherited from
ts
KeywordProps.motionDistance
motionPath?
ts
optional motionPath?: OffsetPath;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | <offset-path> || <coord-box>

Initial value: none

ChromeFirefoxSafariEdgeIE
557215.479No
46 (motion-path)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-path

Inherited from
ts
KeywordProps.motionPath
motionRotation?
ts
optional motionRotation?: OffsetRotate;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: [ auto | reverse ] || <angle>

Initial value: auto

ChromeFirefoxSafariEdgeIE
56721679No
46 (motion-rotation)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-rotate

Inherited from
ts
KeywordProps.motionRotation
MozAnimation?
ts
optional MozAnimation?: Animation<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation>#

Inherited from
ts
KeywordProps.MozAnimation
MozAnimationDelay?
ts
optional MozAnimationDelay?: AnimationDelay<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Inherited from
ts
KeywordProps.MozAnimationDelay
MozAnimationDirection?
ts
optional MozAnimationDirection?: AnimationDirection;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-direction>#

Initial value: normal

Inherited from
ts
KeywordProps.MozAnimationDirection
MozAnimationDuration?
ts
optional MozAnimationDuration?: AnimationDuration<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ auto | <time [0s,∞]> ]#

Initial value: 0s

Inherited from
ts
KeywordProps.MozAnimationDuration
MozAnimationFillMode?
ts
optional MozAnimationFillMode?: AnimationFillMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-fill-mode>#

Initial value: none

Inherited from
ts
KeywordProps.MozAnimationFillMode
MozAnimationIterationCount?
ts
optional MozAnimationIterationCount?: AnimationIterationCount;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-iteration-count>#

Initial value: 1

Inherited from
ts
KeywordProps.MozAnimationIterationCount
MozAnimationName?
ts
optional MozAnimationName?: AnimationName;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ none | <keyframes-name> ]#

Initial value: none

Inherited from
ts
KeywordProps.MozAnimationName
MozAnimationPlayState?
ts
optional MozAnimationPlayState?: AnimationPlayState;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-play-state>#

Initial value: running

Inherited from
ts
KeywordProps.MozAnimationPlayState
MozAnimationTimingFunction?
ts
optional MozAnimationTimingFunction?: AnimationTimingFunction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <easing-function>#

Initial value: ease

Inherited from
ts
KeywordProps.MozAnimationTimingFunction
MozAppearance?
ts
optional MozAppearance?: MozAppearance;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized

Initial value: none (but this value is overridden in the user agent CSS)

Inherited from
ts
KeywordProps.MozAppearance
MozBackfaceVisibility?
ts
optional MozBackfaceVisibility?: BackfaceVisibility;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: visible | hidden

Initial value: visible

Inherited from
ts
KeywordProps.MozBackfaceVisibility
MozBackgroundClip?
ts
optional MozBackgroundClip?: BackgroundClip;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-clip>#

Initial value: border-box

Deprecated
Inherited from
ts
KeywordProps.MozBackgroundClip
MozBackgroundOrigin?
ts
optional MozBackgroundOrigin?: BackgroundOrigin;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <visual-box>#

Initial value: padding-box

Deprecated
Inherited from
ts
KeywordProps.MozBackgroundOrigin
MozBackgroundSize?
ts
optional MozBackgroundSize?: BackgroundSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-size>#

Initial value: auto auto

Deprecated
Inherited from
ts
KeywordProps.MozBackgroundSize
MozBinding?
ts
optional MozBinding?: MozBinding;

Syntax: <url> | none

Initial value: none

Inherited from
ts
KeywordProps.MozBinding
MozBorderBottomColors?
ts
optional MozBorderBottomColors?: MozBorderBottomColors;

Syntax: <color>+ | none

Initial value: none

Inherited from
ts
KeywordProps.MozBorderBottomColors
MozBorderEndColor?
ts
optional MozBorderEndColor?: BorderInlineEndColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-color'>

Initial value: currentcolor

Inherited from
ts
KeywordProps.MozBorderEndColor
MozBorderEndStyle?
ts
optional MozBorderEndStyle?: BorderInlineEndStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-style'>

Initial value: none

Inherited from
ts
KeywordProps.MozBorderEndStyle
MozBorderEndWidth?
ts
optional MozBorderEndWidth?: BorderInlineEndWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-width'>

Initial value: medium

Inherited from
ts
KeywordProps.MozBorderEndWidth
MozBorderImage?
ts
optional MozBorderImage?: BorderImage;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>

Inherited from
ts
KeywordProps.MozBorderImage
MozBorderLeftColors?
ts
optional MozBorderLeftColors?: MozBorderLeftColors;

Syntax: <color>+ | none

Initial value: none

Inherited from
ts
KeywordProps.MozBorderLeftColors
MozBorderRadius?
ts
optional MozBorderRadius?: BorderRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?

Deprecated
Inherited from
ts
KeywordProps.MozBorderRadius
MozBorderRadiusBottomleft?
ts
optional MozBorderRadiusBottomleft?: BorderBottomLeftRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.MozBorderRadiusBottomleft
MozBorderRadiusBottomright?
ts
optional MozBorderRadiusBottomright?: BorderBottomRightRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.MozBorderRadiusBottomright
MozBorderRadiusTopleft?
ts
optional MozBorderRadiusTopleft?: BorderTopLeftRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.MozBorderRadiusTopleft
MozBorderRadiusTopright?
ts
optional MozBorderRadiusTopright?: BorderTopRightRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.MozBorderRadiusTopright
MozBorderRightColors?
ts
optional MozBorderRightColors?: MozBorderRightColors;

Syntax: <color>+ | none

Initial value: none

Inherited from
ts
KeywordProps.MozBorderRightColors
MozBorderStartColor?
ts
optional MozBorderStartColor?: BorderInlineStartColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-color'>

Initial value: currentcolor

Inherited from
ts
KeywordProps.MozBorderStartColor
MozBorderStartStyle?
ts
optional MozBorderStartStyle?: BorderInlineStartStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'border-top-style'>

Initial value: none

Inherited from
ts
KeywordProps.MozBorderStartStyle
MozBorderTopColors?
ts
optional MozBorderTopColors?: MozBorderTopColors;

Syntax: <color>+ | none

Initial value: none

Inherited from
ts
KeywordProps.MozBorderTopColors
MozBoxAlign?
ts
optional MozBoxAlign?: BoxAlign;

The box-align CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.

Syntax: start | center | end | baseline | stretch

Initial value: stretch

Deprecated
Inherited from
ts
KeywordProps.MozBoxAlign
MozBoxDirection?
ts
optional MozBoxDirection?: BoxDirection;

The box-direction CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).

Syntax: normal | reverse | inherit

Initial value: normal

Deprecated
Inherited from
ts
KeywordProps.MozBoxDirection
MozBoxFlex?
ts
optional MozBoxFlex?: BoxFlex;

The -moz-box-flex and -webkit-box-flex CSS properties specify how a -moz-box or -webkit-box grows to fill the box that contains it, in the direction of the containing box's layout.

Syntax: <number>

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.MozBoxFlex
MozBoxOrdinalGroup?
ts
optional MozBoxOrdinalGroup?: BoxOrdinalGroup;

The box-ordinal-group CSS property assigns the flexbox's child elements to an ordinal group.

Syntax: <integer>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.MozBoxOrdinalGroup
MozBoxOrient?
ts
optional MozBoxOrient?: BoxOrient;

The box-orient CSS property sets whether an element lays out its contents horizontally or vertically.

Syntax: horizontal | vertical | inline-axis | block-axis | inherit

Initial value: inline-axis

Deprecated
Inherited from
ts
KeywordProps.MozBoxOrient
MozBoxPack?
ts
optional MozBoxPack?: BoxPack;

The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.

Syntax: start | center | end | justify

Initial value: start

Deprecated
Inherited from
ts
KeywordProps.MozBoxPack
MozBoxShadow?
ts
optional MozBoxShadow?: BoxShadow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: none | <shadow>#

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.MozBoxShadow
MozBoxSizing?
ts
optional MozBoxSizing?: BoxSizing;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: content-box | border-box

Initial value: content-box

Inherited from
ts
KeywordProps.MozBoxSizing
MozColumnCount?
ts
optional MozColumnCount?: ColumnCount;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <integer> | auto

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.MozColumnCount
MozColumnFill?
ts
optional MozColumnFill?: ColumnFill;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: auto | balance

Initial value: balance

Deprecated
Inherited from
ts
KeywordProps.MozColumnFill
MozColumnRule?
ts
optional MozColumnRule?: ColumnRule<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>

Inherited from
ts
KeywordProps.MozColumnRule
MozColumnRuleColor?
ts
optional MozColumnRuleColor?: ColumnRuleColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <color>

Initial value: currentcolor

Inherited from
ts
KeywordProps.MozColumnRuleColor
MozColumnRuleStyle?
ts
optional MozColumnRuleStyle?: ColumnRuleStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'border-style'>

Initial value: none

Inherited from
ts
KeywordProps.MozColumnRuleStyle
MozColumnRuleWidth?
ts
optional MozColumnRuleWidth?: ColumnRuleWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'border-width'>

Initial value: medium

Inherited from
ts
KeywordProps.MozColumnRuleWidth
MozColumns?
ts
optional MozColumns?: Columns<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'column-width'> || <'column-count'>

Inherited from
ts
KeywordProps.MozColumns
MozColumnWidth?
ts
optional MozColumnWidth?: ColumnWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2016.

Syntax: <length> | auto

Initial value: auto

Inherited from
ts
KeywordProps.MozColumnWidth
MozContextProperties?
ts
optional MozContextProperties?: MozContextProperties;

Syntax: none | [ fill | fill-opacity | stroke | stroke-opacity ]#

Initial value: none

Inherited from
ts
KeywordProps.MozContextProperties
MozFloatEdge?
ts
optional MozFloatEdge?: MozFloatEdge;

The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness.

Syntax: border-box | content-box | margin-box | padding-box

Initial value: content-box

Deprecated
Inherited from
ts
KeywordProps.MozFloatEdge
MozFontFeatureSettings?
ts
optional MozFontFeatureSettings?: FontFeatureSettings;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: normal | <feature-tag-value>#

Initial value: normal

Inherited from
ts
KeywordProps.MozFontFeatureSettings
MozFontLanguageOverride?
ts
optional MozFontLanguageOverride?: FontLanguageOverride;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | <string>

Initial value: normal

Inherited from
ts
KeywordProps.MozFontLanguageOverride
MozForceBrokenImageIcon?
ts
optional MozForceBrokenImageIcon?: MozForceBrokenImageIcon;

The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute.

Syntax: 0 | 1

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.MozForceBrokenImageIcon
MozHyphens?
ts
optional MozHyphens?: Hyphens;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | manual | auto

Initial value: manual

Inherited from
ts
KeywordProps.MozHyphens
MozMarginEnd?
ts
optional MozMarginEnd?: MarginInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'margin-top'>

Initial value: 0

Inherited from
ts
KeywordProps.MozMarginEnd
MozMarginStart?
ts
optional MozMarginStart?: MarginInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'margin-top'>

Initial value: 0

Inherited from
ts
KeywordProps.MozMarginStart
MozOpacity?
ts
optional MozOpacity?: Opacity;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <opacity-value>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.MozOpacity
MozOrient?
ts
optional MozOrient?: MozOrient;

The -moz-orient CSS property specifies the orientation of the element to which it's applied.

Syntax: inline | block | horizontal | vertical

Initial value: inline

Inherited from
ts
KeywordProps.MozOrient
MozOsxFontSmoothing?
ts
optional MozOsxFontSmoothing?: FontSmooth<0 | DimensionToken>;

The font-smooth CSS property controls the application of anti-aliasing when fonts are rendered.

Syntax: auto | never | always | <absolute-size> | <length>

Initial value: auto

Inherited from
ts
KeywordProps.MozOsxFontSmoothing
MozOutline?
ts
optional MozOutline?: Outline<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.

Syntax: <'outline-width'> || <'outline-style'> || <'outline-color'>

Deprecated
Inherited from
ts
KeywordProps.MozOutline
MozOutlineColor?
ts
optional MozOutlineColor?: OutlineColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: auto | <color>

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.MozOutlineColor
MozOutlineRadius?
ts
optional MozOutlineRadius?: MozOutlineRadius<0 | DimensionToken>;

Syntax: <outline-radius>{1,4} [ / <outline-radius>{1,4} ]?

Inherited from
ts
KeywordProps.MozOutlineRadius
MozOutlineRadiusBottomleft?
ts
optional MozOutlineRadiusBottomleft?: MozOutlineRadiusBottomleft<0 | DimensionToken>;

Syntax: <outline-radius>

Initial value: 0

Inherited from
ts
KeywordProps.MozOutlineRadiusBottomleft
MozOutlineRadiusBottomright?
ts
optional MozOutlineRadiusBottomright?: MozOutlineRadiusBottomright<0 | DimensionToken>;

Syntax: <outline-radius>

Initial value: 0

Inherited from
ts
KeywordProps.MozOutlineRadiusBottomright
MozOutlineRadiusTopleft?
ts
optional MozOutlineRadiusTopleft?: MozOutlineRadiusTopleft<0 | DimensionToken>;

Syntax: <outline-radius>

Initial value: 0

Inherited from
ts
KeywordProps.MozOutlineRadiusTopleft
MozOutlineRadiusTopright?
ts
optional MozOutlineRadiusTopright?: MozOutlineRadiusTopright<0 | DimensionToken>;

Syntax: <outline-radius>

Initial value: 0

Inherited from
ts
KeywordProps.MozOutlineRadiusTopright
MozOutlineStyle?
ts
optional MozOutlineStyle?: OutlineStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: auto | <outline-line-style>

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.MozOutlineStyle
MozOutlineWidth?
ts
optional MozOutlineWidth?: OutlineWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <line-width>

Initial value: medium

Deprecated
Inherited from
ts
KeywordProps.MozOutlineWidth
MozPaddingEnd?
ts
optional MozPaddingEnd?: PaddingInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'padding-top'>

Initial value: 0

Inherited from
ts
KeywordProps.MozPaddingEnd
MozPaddingStart?
ts
optional MozPaddingStart?: PaddingInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'padding-top'>

Initial value: 0

Inherited from
ts
KeywordProps.MozPaddingStart
MozPerspective?
ts
optional MozPerspective?: Perspective<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <length>

Initial value: none

Inherited from
ts
KeywordProps.MozPerspective
MozPerspectiveOrigin?
ts
optional MozPerspectiveOrigin?: PerspectiveOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <position>

Initial value: 50% 50%

Inherited from
ts
KeywordProps.MozPerspectiveOrigin
MozStackSizing?
ts
optional MozStackSizing?: MozStackSizing;

Syntax: ignore | stretch-to-fit

Initial value: stretch-to-fit

Inherited from
ts
KeywordProps.MozStackSizing
MozTabSize?
ts
optional MozTabSize?: TabSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2021.

Syntax: <integer> | <length>

Initial value: 8

Inherited from
ts
KeywordProps.MozTabSize
MozTextAlignLast?
ts
optional MozTextAlignLast?: TextAlignLast;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: auto | start | end | left | right | center | justify

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.MozTextAlignLast
ts
optional MozTextBlink?: MozTextBlink;

Syntax: none | blink

Initial value: none

Inherited from
ts
KeywordProps.MozTextBlink
MozTextDecorationColor?
ts
optional MozTextDecorationColor?: TextDecorationColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <color>

Initial value: currentcolor

Deprecated
Inherited from
ts
KeywordProps.MozTextDecorationColor
MozTextDecorationLine?
ts
optional MozTextDecorationLine?: TextDecorationLine;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.MozTextDecorationLine
MozTextDecorationStyle?
ts
optional MozTextDecorationStyle?: TextDecorationStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: solid | double | dotted | dashed | wavy

Initial value: solid

Deprecated
Inherited from
ts
KeywordProps.MozTextDecorationStyle
MozTextSizeAdjust?
ts
optional MozTextSizeAdjust?: TextSizeAdjust;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | auto | <percentage>

Initial value: auto for smartphone browsers supporting inflation, none in other cases (and then not modifiable).

Inherited from
ts
KeywordProps.MozTextSizeAdjust
MozTransform?
ts
optional MozTransform?: Transform;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <transform-list>

Initial value: none

Inherited from
ts
KeywordProps.MozTransform
MozTransformOrigin?
ts
optional MozTransformOrigin?: TransformOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?

Initial value: 50% 50% 0

Inherited from
ts
KeywordProps.MozTransformOrigin
MozTransformStyle?
ts
optional MozTransformStyle?: TransformStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: flat | preserve-3d

Initial value: flat

Inherited from
ts
KeywordProps.MozTransformStyle
MozTransition?
ts
optional MozTransition?: Transition<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-transition>#

Inherited from
ts
KeywordProps.MozTransition
MozTransitionDelay?
ts
optional MozTransitionDelay?: TransitionDelay<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Deprecated
Inherited from
ts
KeywordProps.MozTransitionDelay
MozTransitionDuration?
ts
optional MozTransitionDuration?: TransitionDuration<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Deprecated
Inherited from
ts
KeywordProps.MozTransitionDuration
MozTransitionProperty?
ts
optional MozTransitionProperty?: TransitionProperty;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <single-transition-property>#

Initial value: all

Deprecated
Inherited from
ts
KeywordProps.MozTransitionProperty
MozTransitionTimingFunction?
ts
optional MozTransitionTimingFunction?: TransitionTimingFunction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <easing-function>#

Initial value: ease

Deprecated
Inherited from
ts
KeywordProps.MozTransitionTimingFunction
MozUserFocus?
ts
optional MozUserFocus?: MozUserFocus;

The -moz-user-focus CSS property is used to indicate whether an element can have the focus.

Syntax: ignore | normal | select-after | select-before | select-menu | select-same | select-all | none

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.MozUserFocus
MozUserInput?
ts
optional MozUserInput?: MozUserInput;

In Mozilla applications, -moz-user-input determines if an element will accept user input.

Syntax: auto | none | enabled | disabled

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.MozUserInput
MozUserModify?
ts
optional MozUserModify?: MozUserModify;

The user-modify property has no effect in Firefox. It was originally planned to determine whether or not the content of an element can be edited by a user.

Syntax: read-only | read-write | write-only

Initial value: read-only

Inherited from
ts
KeywordProps.MozUserModify
MozUserSelect?
ts
optional MozUserSelect?: UserSelect;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | text | none | all

Initial value: auto

Inherited from
ts
KeywordProps.MozUserSelect
MozWindowDragging?
ts
optional MozWindowDragging?: MozWindowDragging;

Syntax: drag | no-drag

Initial value: drag

Inherited from
ts
KeywordProps.MozWindowDragging
MozWindowShadow?
ts
optional MozWindowShadow?: MozWindowShadow;

Syntax: default | menu | tooltip | sheet | none

Initial value: default

Inherited from
ts
KeywordProps.MozWindowShadow
msAccelerator?
ts
optional msAccelerator?: MsAccelerator;

Syntax: false | true

Initial value: false

Inherited from
ts
KeywordProps.msAccelerator
msBlockProgression?
ts
optional msBlockProgression?: MsBlockProgression;

Syntax: tb | rl | bt | lr

Initial value: tb

Inherited from
ts
KeywordProps.msBlockProgression
msContentZoomChaining?
ts
optional msContentZoomChaining?: MsContentZoomChaining;

Syntax: none | chained

Initial value: none

Inherited from
ts
KeywordProps.msContentZoomChaining
msContentZooming?
ts
optional msContentZooming?: MsContentZooming;

Syntax: none | zoom

Initial value: zoom for the top level element, none for all other elements

Inherited from
ts
KeywordProps.msContentZooming
msContentZoomLimit?
ts
optional msContentZoomLimit?: MsContentZoomLimit;

Syntax: <'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>

Inherited from
ts
KeywordProps.msContentZoomLimit
msContentZoomLimitMax?
ts
optional msContentZoomLimitMax?: MsContentZoomLimitMax;

Syntax: <percentage>

Initial value: 400%

Inherited from
ts
KeywordProps.msContentZoomLimitMax
msContentZoomLimitMin?
ts
optional msContentZoomLimitMin?: MsContentZoomLimitMin;

Syntax: <percentage>

Initial value: 100%

Inherited from
ts
KeywordProps.msContentZoomLimitMin
msContentZoomSnap?
ts
optional msContentZoomSnap?: MsContentZoomSnap;

Syntax: <'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>

Inherited from
ts
KeywordProps.msContentZoomSnap
msContentZoomSnapPoints?
ts
optional msContentZoomSnapPoints?: MsContentZoomSnapPoints;

Syntax: snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )

Initial value: snapInterval(0%, 100%)

Inherited from
ts
KeywordProps.msContentZoomSnapPoints
msContentZoomSnapType?
ts
optional msContentZoomSnapType?: MsContentZoomSnapType;

Syntax: none | proximity | mandatory

Initial value: none

Inherited from
ts
KeywordProps.msContentZoomSnapType
msFilter?
ts
optional msFilter?: MsFilter;

Syntax: <string>

Initial value: "" (the empty string)

Inherited from
ts
KeywordProps.msFilter
msFlex?
ts
optional msFlex?: Flex<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

Inherited from
ts
KeywordProps.msFlex
msFlexDirection?
ts
optional msFlexDirection?: FlexDirection;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: row | row-reverse | column | column-reverse

Initial value: row

Inherited from
ts
KeywordProps.msFlexDirection
msFlexPositive?
ts
optional msFlexPositive?: FlexGrow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <number>

Initial value: 0

Inherited from
ts
KeywordProps.msFlexPositive
msFlowFrom?
ts
optional msFlowFrom?: MsFlowFrom;

Syntax: [ none | <custom-ident> ]#

Initial value: none

Inherited from
ts
KeywordProps.msFlowFrom
msFlowInto?
ts
optional msFlowInto?: MsFlowInto;

Syntax: [ none | <custom-ident> ]#

Initial value: none

Inherited from
ts
KeywordProps.msFlowInto
msGridColumns?
ts
optional msGridColumns?: MsGridColumns<0 | DimensionToken>;

Syntax: none | <track-list> | <auto-track-list>

Initial value: none

Inherited from
ts
KeywordProps.msGridColumns
msGridRows?
ts
optional msGridRows?: MsGridRows<0 | DimensionToken>;

Syntax: none | <track-list> | <auto-track-list>

Initial value: none

Inherited from
ts
KeywordProps.msGridRows
msHighContrastAdjust?
ts
optional msHighContrastAdjust?: MsHighContrastAdjust;

Syntax: auto | none

Initial value: auto

Inherited from
ts
KeywordProps.msHighContrastAdjust
msHyphenateLimitChars?
ts
optional msHyphenateLimitChars?: MsHyphenateLimitChars;

Syntax: auto | <integer>{1,3}

Initial value: auto

Inherited from
ts
KeywordProps.msHyphenateLimitChars
msHyphenateLimitLines?
ts
optional msHyphenateLimitLines?: MsHyphenateLimitLines;

Syntax: no-limit | <integer>

Initial value: no-limit

Inherited from
ts
KeywordProps.msHyphenateLimitLines
msHyphenateLimitZone?
ts
optional msHyphenateLimitZone?: MsHyphenateLimitZone<0 | DimensionToken>;

Syntax: <percentage> | <length>

Initial value: 0

Inherited from
ts
KeywordProps.msHyphenateLimitZone
msHyphens?
ts
optional msHyphens?: Hyphens;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | manual | auto

Initial value: manual

Inherited from
ts
KeywordProps.msHyphens
msImeAlign?
ts
optional msImeAlign?: MsImeAlign;

Syntax: auto | after

Initial value: auto

Inherited from
ts
KeywordProps.msImeAlign
msImeMode?
ts
optional msImeMode?: ImeMode;

Syntax: auto | normal | active | inactive | disabled

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.msImeMode
msLineBreak?
ts
optional msLineBreak?: LineBreak;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: auto | loose | normal | strict | anywhere

Initial value: auto

Inherited from
ts
KeywordProps.msLineBreak
msOrder?
ts
optional msOrder?: Order;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <integer>

Initial value: 0

Inherited from
ts
KeywordProps.msOrder
msOverflowStyle?
ts
optional msOverflowStyle?: MsOverflowStyle;

Syntax: auto | none | scrollbar | -ms-autohiding-scrollbar

Initial value: auto

Inherited from
ts
KeywordProps.msOverflowStyle
msOverflowX?
ts
optional msOverflowX?: OverflowX;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: visible | hidden | clip | scroll | auto

Initial value: visible

Inherited from
ts
KeywordProps.msOverflowX
msOverflowY?
ts
optional msOverflowY?: OverflowY;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: visible | hidden | clip | scroll | auto

Initial value: visible

Inherited from
ts
KeywordProps.msOverflowY
msScrollbar3dlightColor?
ts
optional msScrollbar3dlightColor?: MsScrollbar3dlightColor;

Syntax: <color>

Initial value: depends on user agent

Inherited from
ts
KeywordProps.msScrollbar3dlightColor
msScrollbarArrowColor?
ts
optional msScrollbarArrowColor?: MsScrollbarArrowColor;

Syntax: <color>

Initial value: ButtonText

Inherited from
ts
KeywordProps.msScrollbarArrowColor
msScrollbarBaseColor?
ts
optional msScrollbarBaseColor?: MsScrollbarBaseColor;

Syntax: <color>

Initial value: depends on user agent

Inherited from
ts
KeywordProps.msScrollbarBaseColor
msScrollbarDarkshadowColor?
ts
optional msScrollbarDarkshadowColor?: MsScrollbarDarkshadowColor;

Syntax: <color>

Initial value: ThreeDDarkShadow

Inherited from
ts
KeywordProps.msScrollbarDarkshadowColor
msScrollbarFaceColor?
ts
optional msScrollbarFaceColor?: MsScrollbarFaceColor;

Syntax: <color>

Initial value: ThreeDFace

Inherited from
ts
KeywordProps.msScrollbarFaceColor
msScrollbarHighlightColor?
ts
optional msScrollbarHighlightColor?: MsScrollbarHighlightColor;

Syntax: <color>

Initial value: ThreeDHighlight

Inherited from
ts
KeywordProps.msScrollbarHighlightColor
msScrollbarShadowColor?
ts
optional msScrollbarShadowColor?: MsScrollbarShadowColor;

Syntax: <color>

Initial value: ThreeDDarkShadow

Inherited from
ts
KeywordProps.msScrollbarShadowColor
msScrollbarTrackColor?
ts
optional msScrollbarTrackColor?: MsScrollbarTrackColor;

Syntax: <color>

Initial value: Scrollbar

Inherited from
ts
KeywordProps.msScrollbarTrackColor
msScrollChaining?
ts
optional msScrollChaining?: MsScrollChaining;

Syntax: chained | none

Initial value: chained

Inherited from
ts
KeywordProps.msScrollChaining
msScrollLimit?
ts
optional msScrollLimit?: MsScrollLimit;

Syntax: <'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>

Inherited from
ts
KeywordProps.msScrollLimit
msScrollLimitXMax?
ts
optional msScrollLimitXMax?: MsScrollLimitXMax<0 | DimensionToken>;

Syntax: auto | <length>

Initial value: auto

Inherited from
ts
KeywordProps.msScrollLimitXMax
msScrollLimitXMin?
ts
optional msScrollLimitXMin?: MsScrollLimitXMin<0 | DimensionToken>;

Syntax: <length>

Initial value: 0

Inherited from
ts
KeywordProps.msScrollLimitXMin
msScrollLimitYMax?
ts
optional msScrollLimitYMax?: MsScrollLimitYMax<0 | DimensionToken>;

Syntax: auto | <length>

Initial value: auto

Inherited from
ts
KeywordProps.msScrollLimitYMax
msScrollLimitYMin?
ts
optional msScrollLimitYMin?: MsScrollLimitYMin<0 | DimensionToken>;

Syntax: <length>

Initial value: 0

Inherited from
ts
KeywordProps.msScrollLimitYMin
msScrollRails?
ts
optional msScrollRails?: MsScrollRails;

Syntax: none | railed

Initial value: railed

Inherited from
ts
KeywordProps.msScrollRails
msScrollSnapPointsX?
ts
optional msScrollSnapPointsX?: MsScrollSnapPointsX;

Syntax: snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )

Initial value: snapInterval(0px, 100%)

Inherited from
ts
KeywordProps.msScrollSnapPointsX
msScrollSnapPointsY?
ts
optional msScrollSnapPointsY?: MsScrollSnapPointsY;

Syntax: snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )

Initial value: snapInterval(0px, 100%)

Inherited from
ts
KeywordProps.msScrollSnapPointsY
msScrollSnapType?
ts
optional msScrollSnapType?: MsScrollSnapType;

Syntax: none | proximity | mandatory

Initial value: none

Inherited from
ts
KeywordProps.msScrollSnapType
msScrollSnapX?
ts
optional msScrollSnapX?: MsScrollSnapX;

Syntax: <'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>

Inherited from
ts
KeywordProps.msScrollSnapX
msScrollSnapY?
ts
optional msScrollSnapY?: MsScrollSnapY;

Syntax: <'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>

Inherited from
ts
KeywordProps.msScrollSnapY
msScrollTranslation?
ts
optional msScrollTranslation?: MsScrollTranslation;

Syntax: none | vertical-to-horizontal

Initial value: none

Inherited from
ts
KeywordProps.msScrollTranslation
msTextAutospace?
ts
optional msTextAutospace?: MsTextAutospace;

Syntax: none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space

Initial value: none

Inherited from
ts
KeywordProps.msTextAutospace
msTextCombineHorizontal?
ts
optional msTextCombineHorizontal?: TextCombineUpright;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | all | [ digits <integer>? ]

Initial value: none

Inherited from
ts
KeywordProps.msTextCombineHorizontal
msTextOverflow?
ts
optional msTextOverflow?: TextOverflow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ clip | ellipsis | <string> ]{1,2}

Initial value: clip

Inherited from
ts
KeywordProps.msTextOverflow
msTouchAction?
ts
optional msTouchAction?: TouchAction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2019.

Syntax: auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation

Initial value: auto

Inherited from
ts
KeywordProps.msTouchAction
msTouchSelect?
ts
optional msTouchSelect?: MsTouchSelect;

Syntax: grippers | none

Initial value: grippers

Inherited from
ts
KeywordProps.msTouchSelect
msTransform?
ts
optional msTransform?: Transform;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <transform-list>

Initial value: none

Inherited from
ts
KeywordProps.msTransform
msTransformOrigin?
ts
optional msTransformOrigin?: TransformOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?

Initial value: 50% 50% 0

Inherited from
ts
KeywordProps.msTransformOrigin
msTransition?
ts
optional msTransition?: Transition<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-transition>#

Inherited from
ts
KeywordProps.msTransition
msTransitionDelay?
ts
optional msTransitionDelay?: TransitionDelay<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Inherited from
ts
KeywordProps.msTransitionDelay
msTransitionDuration?
ts
optional msTransitionDuration?: TransitionDuration<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Inherited from
ts
KeywordProps.msTransitionDuration
msTransitionProperty?
ts
optional msTransitionProperty?: TransitionProperty;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <single-transition-property>#

Initial value: all

Inherited from
ts
KeywordProps.msTransitionProperty
msTransitionTimingFunction?
ts
optional msTransitionTimingFunction?: TransitionTimingFunction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <easing-function>#

Initial value: ease

Inherited from
ts
KeywordProps.msTransitionTimingFunction
msUserSelect?
ts
optional msUserSelect?: MsUserSelect;

Syntax: none | element | text

Initial value: text

Inherited from
ts
KeywordProps.msUserSelect
msWordBreak?
ts
optional msWordBreak?: WordBreak;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: normal | break-all | keep-all | break-word | auto-phrase

Initial value: normal

Inherited from
ts
KeywordProps.msWordBreak
msWrapFlow?
ts
optional msWrapFlow?: MsWrapFlow;

Syntax: auto | both | start | end | maximum | clear

Initial value: auto

Inherited from
ts
KeywordProps.msWrapFlow
msWrapMargin?
ts
optional msWrapMargin?: MsWrapMargin<0 | DimensionToken>;

Syntax: <length>

Initial value: 0

Inherited from
ts
KeywordProps.msWrapMargin
msWrapThrough?
ts
optional msWrapThrough?: MsWrapThrough;

Syntax: wrap | none

Initial value: wrap

Inherited from
ts
KeywordProps.msWrapThrough
msWritingMode?
ts
optional msWritingMode?: WritingMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr

Initial value: horizontal-tb

Inherited from
ts
KeywordProps.msWritingMode
OAnimation?
ts
optional OAnimation?: Animation<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation>#

Deprecated
Inherited from
ts
KeywordProps.OAnimation
OAnimationDelay?
ts
optional OAnimationDelay?: AnimationDelay<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Deprecated
Inherited from
ts
KeywordProps.OAnimationDelay
OAnimationDirection?
ts
optional OAnimationDirection?: AnimationDirection;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-direction>#

Initial value: normal

Deprecated
Inherited from
ts
KeywordProps.OAnimationDirection
OAnimationDuration?
ts
optional OAnimationDuration?: AnimationDuration<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ auto | <time [0s,∞]> ]#

Initial value: 0s

Deprecated
Inherited from
ts
KeywordProps.OAnimationDuration
OAnimationFillMode?
ts
optional OAnimationFillMode?: AnimationFillMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-fill-mode>#

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.OAnimationFillMode
OAnimationIterationCount?
ts
optional OAnimationIterationCount?: AnimationIterationCount;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-iteration-count>#

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.OAnimationIterationCount
OAnimationName?
ts
optional OAnimationName?: AnimationName;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ none | <keyframes-name> ]#

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.OAnimationName
OAnimationPlayState?
ts
optional OAnimationPlayState?: AnimationPlayState;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-play-state>#

Initial value: running

Deprecated
Inherited from
ts
KeywordProps.OAnimationPlayState
OAnimationTimingFunction?
ts
optional OAnimationTimingFunction?: AnimationTimingFunction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <easing-function>#

Initial value: ease

Deprecated
Inherited from
ts
KeywordProps.OAnimationTimingFunction
OBackgroundSize?
ts
optional OBackgroundSize?: BackgroundSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-size>#

Initial value: auto auto

Deprecated
Inherited from
ts
KeywordProps.OBackgroundSize
objectFit?
ts
optional objectFit?: ObjectFit;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: fill | contain | cover | none | scale-down

Initial value: fill

ChromeFirefoxSafariEdgeIE
32361079No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/object-fit

Inherited from
ts
KeywordProps.objectFit
objectPosition?
ts
optional objectPosition?: ObjectPosition<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <position>

Initial value: 50% 50%

ChromeFirefoxSafariEdgeIE
32361079No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/object-position

Inherited from
ts
KeywordProps.objectPosition
objectViewBox?
ts
optional objectViewBox?: ObjectViewBox;

Syntax: none | <basic-shape-rect>

Initial value: none

ChromeFirefoxSafariEdgeIE
104NoNo104No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/object-view-box

Inherited from
ts
KeywordProps.objectViewBox
OBorderImage?
ts
optional OBorderImage?: BorderImage;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>

Deprecated
Inherited from
ts
KeywordProps.OBorderImage
offset?
ts
optional offset?: Offset<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: [ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?

ChromeFirefoxSafariEdgeIE
55721679No
46 (motion)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset

Inherited from
ts
KeywordProps.offset
offsetAnchor?
ts
optional offsetAnchor?: OffsetAnchor<0 | DimensionToken>;

Since August 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto | <position>

Initial value: auto

ChromeFirefoxSafariEdgeIE
1167216116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-anchor

Inherited from
ts
KeywordProps.offsetAnchor
offsetBlock?
ts
optional offsetBlock?: InsetBlock<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'top'>{1,2}

Deprecated
Inherited from
ts
KeywordProps.offsetBlock
offsetBlockEnd?
ts
optional offsetBlockEnd?: InsetBlockEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'top'>

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.offsetBlockEnd
offsetBlockStart?
ts
optional offsetBlockStart?: InsetBlockStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'top'>

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.offsetBlockStart
offsetDistance?
ts
optional offsetDistance?: OffsetDistance<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: <length-percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
55721679No
46 (motion-distance)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-distance

Inherited from
ts
KeywordProps.offsetDistance
offsetInline?
ts
optional offsetInline?: InsetInline<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'top'>{1,2}

Deprecated
Inherited from
ts
KeywordProps.offsetInline
offsetInlineEnd?
ts
optional offsetInlineEnd?: InsetInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'top'>

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.offsetInlineEnd
offsetInlineStart?
ts
optional offsetInlineStart?: InsetInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <'top'>

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.offsetInlineStart
offsetPath?
ts
optional offsetPath?: OffsetPath;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | <offset-path> || <coord-box>

Initial value: none

ChromeFirefoxSafariEdgeIE
557215.479No
46 (motion-path)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-path

Inherited from
ts
KeywordProps.offsetPath
offsetPosition?
ts
optional offsetPosition?: OffsetPosition<0 | DimensionToken>;

Since January 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: normal | auto | <position>

Initial value: normal

ChromeFirefoxSafariEdgeIE
11612216116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-position

Inherited from
ts
KeywordProps.offsetPosition
offsetRotate?
ts
optional offsetRotate?: OffsetRotate;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: [ auto | reverse ] || <angle>

Initial value: auto

ChromeFirefoxSafariEdgeIE
56721679No
46 (motion-rotation)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-rotate

Inherited from
ts
KeywordProps.offsetRotate
offsetRotation?
ts
optional offsetRotation?: OffsetRotate;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: [ auto | reverse ] || <angle>

Initial value: auto

ChromeFirefoxSafariEdgeIE
56721679No
46 (motion-rotation)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/offset-rotate

Inherited from
ts
KeywordProps.offsetRotation
OObjectFit?
ts
optional OObjectFit?: ObjectFit;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: fill | contain | cover | none | scale-down

Initial value: fill

Deprecated
Inherited from
ts
KeywordProps.OObjectFit
OObjectPosition?
ts
optional OObjectPosition?: ObjectPosition<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <position>

Initial value: 50% 50%

Deprecated
Inherited from
ts
KeywordProps.OObjectPosition
opacity?
ts
optional opacity?: Numeric;
Inherited from
ts
TokenMappedProps.opacity
order?
ts
optional order?: Numeric;
Inherited from
ts
TokenMappedProps.order
orphans?
ts
optional orphans?: Orphans;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <integer>

Initial value: 2

ChromeFirefoxSafariEdgeIE
25No1.3128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/orphans

Inherited from
ts
KeywordProps.orphans
OTabSize?
ts
optional OTabSize?: TabSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2021.

Syntax: <integer> | <length>

Initial value: 8

Deprecated
Inherited from
ts
KeywordProps.OTabSize
OTextOverflow?
ts
optional OTextOverflow?: TextOverflow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ clip | ellipsis | <string> ]{1,2}

Initial value: clip

Deprecated
Inherited from
ts
KeywordProps.OTextOverflow
OTransform?
ts
optional OTransform?: Transform;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <transform-list>

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.OTransform
OTransformOrigin?
ts
optional OTransformOrigin?: TransformOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?

Initial value: 50% 50% 0

Deprecated
Inherited from
ts
KeywordProps.OTransformOrigin
OTransition?
ts
optional OTransition?: Transition<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-transition>#

Deprecated
Inherited from
ts
KeywordProps.OTransition
OTransitionDelay?
ts
optional OTransitionDelay?: TransitionDelay<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Deprecated
Inherited from
ts
KeywordProps.OTransitionDelay
OTransitionDuration?
ts
optional OTransitionDuration?: TransitionDuration<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Deprecated
Inherited from
ts
KeywordProps.OTransitionDuration
OTransitionProperty?
ts
optional OTransitionProperty?: TransitionProperty;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <single-transition-property>#

Initial value: all

Deprecated
Inherited from
ts
KeywordProps.OTransitionProperty
OTransitionTimingFunction?
ts
optional OTransitionTimingFunction?: TransitionTimingFunction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <easing-function>#

Initial value: ease

Deprecated
Inherited from
ts
KeywordProps.OTransitionTimingFunction
outline?
ts
optional outline?: Outline<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.

Syntax: <'outline-width'> || <'outline-style'> || <'outline-color'>

ChromeFirefoxSafariEdgeIE
948816.4948
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/outline

Inherited from
ts
KeywordProps.outline
outlineColor?
ts
optional outlineColor?: ColorLike;
Inherited from
ts
TokenMappedProps.outlineColor
outlineOffset?
ts
optional outlineOffset?: Size;
Inherited from
ts
TokenMappedProps.outlineOffset
outlineStyle?
ts
optional outlineStyle?: OutlineStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: auto | <outline-line-style>

Initial value: none

ChromeFirefoxSafariEdgeIE
11.51.2128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/outline-style

Inherited from
ts
KeywordProps.outlineStyle
outlineWidth?
ts
optional outlineWidth?: LineWidth;
Inherited from
ts
TokenMappedProps.outlineWidth
overflow?
ts
optional overflow?: Overflow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ visible | hidden | clip | scroll | auto ]{1,2}

Initial value: visible

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow

Inherited from
ts
KeywordProps.overflow
overflowAnchor?
ts
optional overflowAnchor?: OverflowAnchor;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
5666preview79No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow-anchor

Inherited from
ts
KeywordProps.overflowAnchor
overflowBlock?
ts
optional overflowBlock?: OverflowBlock;

Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: visible | hidden | clip | scroll | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
1356926135No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow-block

Inherited from
ts
KeywordProps.overflowBlock
overflowClipBox?
ts
optional overflowClipBox?: OverflowClipBox;

Syntax: padding-box | content-box

Initial value: padding-box

Inherited from
ts
KeywordProps.overflowClipBox
overflowClipMargin?
ts
optional overflowClipMargin?: OverflowClipMargin<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <visual-box> || <length [0,∞]>

Initial value: 0px

ChromeFirefoxSafariEdgeIE
90102No90No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow-clip-margin

Inherited from
ts
KeywordProps.overflowClipMargin
overflowInline?
ts
optional overflowInline?: OverflowInline;

Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: visible | hidden | clip | scroll | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
1356926135No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow-inline

Inherited from
ts
KeywordProps.overflowInline
overflowWrap?
ts
optional overflowWrap?: OverflowWrap;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2018.

Syntax: normal | break-word | anywhere

Initial value: normal

ChromeFirefoxSafariEdgeIE
23497185.5 (word-wrap)
1 (word-wrap)3.5 (word-wrap)1 (word-wrap)12 (word-wrap)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow-wrap

Inherited from
ts
KeywordProps.overflowWrap
overflowX?
ts
optional overflowX?: OverflowX;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: visible | hidden | clip | scroll | auto

Initial value: visible

ChromeFirefoxSafariEdgeIE
13.53125
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow-x

Inherited from
ts
KeywordProps.overflowX
overflowY?
ts
optional overflowY?: OverflowY;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: visible | hidden | clip | scroll | auto

Initial value: visible

ChromeFirefoxSafariEdgeIE
13.53125
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overflow-y

Inherited from
ts
KeywordProps.overflowY
overlay?
ts
optional overlay?: Overlay;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | auto

Initial value: none

ChromeFirefoxSafariEdgeIE
117NoNo117No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overlay

Inherited from
ts
KeywordProps.overlay
overscrollBehavior?
ts
optional overscrollBehavior?: OverscrollBehavior;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: [ contain | none | auto ]{1,2}

Initial value: auto

ChromeFirefoxSafariEdgeIE
63591618No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overscroll-behavior

Inherited from
ts
KeywordProps.overscrollBehavior
overscrollBehaviorBlock?
ts
optional overscrollBehaviorBlock?: OverscrollBehaviorBlock;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: contain | none | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
77731679No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overscroll-behavior-block

Inherited from
ts
KeywordProps.overscrollBehaviorBlock
overscrollBehaviorInline?
ts
optional overscrollBehaviorInline?: OverscrollBehaviorInline;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: contain | none | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
77731679No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overscroll-behavior-inline

Inherited from
ts
KeywordProps.overscrollBehaviorInline
overscrollBehaviorX?
ts
optional overscrollBehaviorX?: OverscrollBehaviorX;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: contain | none | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
63591618No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overscroll-behavior-x

Inherited from
ts
KeywordProps.overscrollBehaviorX
overscrollBehaviorY?
ts
optional overscrollBehaviorY?: OverscrollBehaviorY;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: contain | none | auto

Initial value: auto

ChromeFirefoxSafariEdgeIE
63591618No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/overscroll-behavior-y

Inherited from
ts
KeywordProps.overscrollBehaviorY
padding?
ts
optional padding?: Size | Repeat1to4<PadItem>;
Inherited from
ts
TokenMappedProps.padding
paddingBlock?
ts
optional paddingBlock?: Size | readonly [PadItem, PadItem];
Inherited from
ts
TokenMappedProps.paddingBlock
paddingBlockEnd?
ts
optional paddingBlockEnd?: Size;
Inherited from
ts
TokenMappedProps.paddingBlockEnd
paddingBlockStart?
ts
optional paddingBlockStart?: Size;
Inherited from
ts
TokenMappedProps.paddingBlockStart
paddingBottom?
ts
optional paddingBottom?: Size;
Inherited from
ts
TokenMappedProps.paddingBottom
paddingInline?
ts
optional paddingInline?: Size | readonly [PadItem, PadItem];
Inherited from
ts
TokenMappedProps.paddingInline
paddingInlineEnd?
ts
optional paddingInlineEnd?: Size;
Inherited from
ts
TokenMappedProps.paddingInlineEnd
paddingInlineStart?
ts
optional paddingInlineStart?: Size;
Inherited from
ts
TokenMappedProps.paddingInlineStart
paddingLeft?
ts
optional paddingLeft?: Size;
Inherited from
ts
TokenMappedProps.paddingLeft
paddingRight?
ts
optional paddingRight?: Size;
Inherited from
ts
TokenMappedProps.paddingRight
paddingTop?
ts
optional paddingTop?: Size;
Inherited from
ts
TokenMappedProps.paddingTop
page?
ts
optional page?: Page;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023.

Syntax: auto | <custom-ident>

Initial value: auto

ChromeFirefoxSafariEdgeIE
85110185No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/page

Inherited from
ts
KeywordProps.page
pageBreakAfter?
ts
optional pageBreakAfter?: PageBreakAfter;

The page-break-after CSS property adjusts page breaks after the current element.

Syntax: auto | always | avoid | left | right | recto | verso

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.pageBreakAfter
pageBreakBefore?
ts
optional pageBreakBefore?: PageBreakBefore;

The page-break-before CSS property adjusts page breaks before the current element.

Syntax: auto | always | avoid | left | right | recto | verso

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.pageBreakBefore
pageBreakInside?
ts
optional pageBreakInside?: PageBreakInside;

The page-break-inside CSS property adjusts page breaks inside the current element.

Syntax: auto | avoid

Initial value: auto

Deprecated
Inherited from
ts
KeywordProps.pageBreakInside
paintOrder?
ts
optional paintOrder?: PaintOrder;

Since March 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: normal | [ fill || stroke || markers ]

Initial value: normal

ChromeFirefoxSafariEdgeIE
1236011123No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/paint-order

Inherited from
ts
KeywordProps.paintOrder
perspective?
ts
optional perspective?: Perspective<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <length>

Initial value: none

ChromeFirefoxSafariEdgeIE
361691210
12 -x-10 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/perspective

Inherited from
ts
KeywordProps.perspective
perspectiveOrigin?
ts
optional perspectiveOrigin?: PerspectiveOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <position>

Initial value: 50% 50%

ChromeFirefoxSafariEdgeIE
361691210
12 -x-10 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/perspective-origin

Inherited from
ts
KeywordProps.perspectiveOrigin
placeContent?
ts
optional placeContent?: PlaceContent;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'align-content'> <'justify-content'>?

ChromeFirefoxSafariEdgeIE
5945979No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/place-content

Inherited from
ts
KeywordProps.placeContent
placeItems?
ts
optional placeItems?: PlaceItems;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'align-items'> <'justify-items'>?

ChromeFirefoxSafariEdgeIE
59451179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/place-items

Inherited from
ts
KeywordProps.placeItems
placeSelf?
ts
optional placeSelf?: PlaceSelf;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'align-self'> <'justify-self'>?

ChromeFirefoxSafariEdgeIE
59451179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/place-self

Inherited from
ts
KeywordProps.placeSelf
pointerEvents?
ts
optional pointerEvents?: PointerEvents;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit

Initial value: auto

ChromeFirefoxSafariEdgeIE
11.541211
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/pointer-events

Inherited from
ts
KeywordProps.pointerEvents
position?
ts
optional position?: Position;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: static | relative | absolute | sticky | fixed

Initial value: static

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/position

Inherited from
ts
KeywordProps.position
positionAnchor?
ts
optional positionAnchor?: PositionAnchor;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | <anchor-name>

Initial value: auto

ChromeFirefoxSafariEdgeIE
125preview26125No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/position-anchor

Inherited from
ts
KeywordProps.positionAnchor
positionArea?
ts
optional positionArea?: PositionArea;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <position-area>

Initial value: none

ChromeFirefoxSafariEdgeIE
129preview26129No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/position-area

Inherited from
ts
KeywordProps.positionArea
positionTry?
ts
optional positionTry?: PositionTry;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <'position-try-order'>? <'position-try-fallbacks'>

ChromeFirefoxSafariEdgeIE
125preview26125No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/position-try

Inherited from
ts
KeywordProps.positionTry
positionTryFallbacks?
ts
optional positionTryFallbacks?: PositionTryFallbacks;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | [ [<dashed-ident> || <try-tactic>] | <'position-area'> ]#

Initial value: none

ChromeFirefoxSafariEdgeIE
128preview26128No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/position-try-fallbacks

Inherited from
ts
KeywordProps.positionTryFallbacks
positionTryOptions?
ts
optional positionTryOptions?: PositionTryFallbacks;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | [ [<dashed-ident> || <try-tactic>] | <'position-area'> ]#

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.positionTryOptions
positionTryOrder?
ts
optional positionTryOrder?: PositionTryOrder;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | <try-size>

Initial value: normal

ChromeFirefoxSafariEdgeIE
125No26125No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/position-try-order

Inherited from
ts
KeywordProps.positionTryOrder
positionVisibility?
ts
optional positionVisibility?: PositionVisibility;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: always | [ anchors-valid || anchors-visible || no-overflow ]

Initial value: anchors-visible

ChromeFirefoxSafariEdgeIE
125previewNo125No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/position-visibility

Inherited from
ts
KeywordProps.positionVisibility
printColorAdjust?
ts
optional printColorAdjust?: PrintColorAdjust;

Since May 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: economy | exact

Initial value: economy

ChromeFirefoxSafariEdgeIE
1369715.4136No
17 -x-48 (color-adjust)6 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/print-color-adjust

Inherited from
ts
KeywordProps.printColorAdjust
quotes?
ts
optional quotes?: Quotes;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | auto | [ <string> <string> ]+

Initial value: depends on user agent

ChromeFirefoxSafariEdgeIE
111.59128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/quotes

Inherited from
ts
KeywordProps.quotes
r?
ts
optional r?: R<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: <length> | <percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
4369979No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/r

Inherited from
ts
KeywordProps.r
resize?
ts
optional resize?: Resize;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | both | horizontal | vertical | block | inline

Initial value: none

ChromeFirefoxSafariEdgeIE
14379No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/resize

Inherited from
ts
KeywordProps.resize
ts
optional right?: SizeAuto;
Inherited from
ts
TokenMappedProps.right
rotate?
ts
optional rotate?: Rotate;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2022.

Syntax: none | <angle> | [ x | y | z | <number>{3} ] && <angle>

Initial value: none

ChromeFirefoxSafariEdgeIE
1047214.1104No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/rotate

Inherited from
ts
KeywordProps.rotate
rowGap?
ts
optional rowGap?: Size;
Inherited from
ts
TokenMappedProps.rowGap
rubyAlign?
ts
optional rubyAlign?: RubyAlign;

Since December 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: start | center | space-between | space-around

Initial value: space-around

ChromeFirefoxSafariEdgeIE
1283818.2128No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/ruby-align

Inherited from
ts
KeywordProps.rubyAlign
rubyMerge?
ts
optional rubyMerge?: RubyMerge;

Syntax: separate | collapse | auto

Initial value: separate

Inherited from
ts
KeywordProps.rubyMerge
rubyOverhang?
ts
optional rubyOverhang?: RubyOverhang;

Syntax: auto | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
NoNo18.2NoNo
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/ruby-overhang

Inherited from
ts
KeywordProps.rubyOverhang
rubyPosition?
ts
optional rubyPosition?: RubyPosition;

Since December 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ alternate || [ over | under ] ] | inter-character

Initial value: alternate

ChromeFirefoxSafariEdgeIE
843818.212-79No
1 -x-7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/ruby-position

Inherited from
ts
KeywordProps.rubyPosition
rx?
ts
optional rx?: Rx<0 | DimensionToken>;

Since March 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <length> | <percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
436917.479No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/rx

Inherited from
ts
KeywordProps.rx
ry?
ts
optional ry?: Ry<0 | DimensionToken>;

Since March 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <length> | <percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
436917.479No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/ry

Inherited from
ts
KeywordProps.ry
scale?
ts
optional scale?: Scale;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2022.

Syntax: none | [ <number> | <percentage> ]{1,3}

Initial value: none

ChromeFirefoxSafariEdgeIE
1047214.1104No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scale

Inherited from
ts
KeywordProps.scale
scrollbarColor?
ts
optional scrollbarColor?: ScrollbarColor;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | <color>{2}

Initial value: auto

ChromeFirefoxSafariEdgeIE
12164No121No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scrollbar-color

Inherited from
ts
KeywordProps.scrollbarColor
scrollbarGutter?
ts
optional scrollbarGutter?: ScrollbarGutter;

Since December 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto | stable && both-edges?

Initial value: auto

ChromeFirefoxSafariEdgeIE
949718.294No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scrollbar-gutter

Inherited from
ts
KeywordProps.scrollbarGutter
scrollbarWidth?
ts
optional scrollbarWidth?: ScrollbarWidth;

Since December 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto | thin | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
1216418.2121No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scrollbar-width

Inherited from
ts
KeywordProps.scrollbarWidth
scrollBehavior?
ts
optional scrollBehavior?: ScrollBehavior;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: auto | smooth

Initial value: auto

ChromeFirefoxSafariEdgeIE
613615.479No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-behavior

Inherited from
ts
KeywordProps.scrollBehavior
scrollInitialTarget?
ts
optional scrollInitialTarget?: ScrollInitialTarget;

Syntax: none | nearest

Initial value: none

ChromeFirefoxSafariEdgeIE
133NoNo133No
Inherited from
ts
KeywordProps.scrollInitialTarget
scrollMargin?
ts
optional scrollMargin?: ScrollMargin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2021.

Syntax: <length>{1,4}

ChromeFirefoxSafariEdgeIE
699014.179No
11 (scroll-snap-margin)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin

Inherited from
ts
KeywordProps.scrollMargin
scrollMarginBlock?
ts
optional scrollMarginBlock?: ScrollMarginBlock<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <length>{1,2}

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-block

Inherited from
ts
KeywordProps.scrollMarginBlock
scrollMarginBlockEnd?
ts
optional scrollMarginBlockEnd?: ScrollMarginBlockEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-block-end

Inherited from
ts
KeywordProps.scrollMarginBlockEnd
scrollMarginBlockStart?
ts
optional scrollMarginBlockStart?: ScrollMarginBlockStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-block-start

Inherited from
ts
KeywordProps.scrollMarginBlockStart
scrollMarginBottom?
ts
optional scrollMarginBottom?: ScrollMarginBottom<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-bottom)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-bottom

Inherited from
ts
KeywordProps.scrollMarginBottom
scrollMarginInline?
ts
optional scrollMarginInline?: ScrollMarginInline<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <length>{1,2}

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-inline

Inherited from
ts
KeywordProps.scrollMarginInline
scrollMarginInlineEnd?
ts
optional scrollMarginInlineEnd?: ScrollMarginInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-inline-end

Inherited from
ts
KeywordProps.scrollMarginInlineEnd
scrollMarginInlineStart?
ts
optional scrollMarginInlineStart?: ScrollMarginInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-inline-start

Inherited from
ts
KeywordProps.scrollMarginInlineStart
scrollMarginLeft?
ts
optional scrollMarginLeft?: ScrollMarginLeft<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-left)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-left

Inherited from
ts
KeywordProps.scrollMarginLeft
scrollMarginRight?
ts
optional scrollMarginRight?: ScrollMarginRight<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-right)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-right

Inherited from
ts
KeywordProps.scrollMarginRight
scrollMarginTop?
ts
optional scrollMarginTop?: ScrollMarginTop<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-top)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-top

Inherited from
ts
KeywordProps.scrollMarginTop
scrollPadding?
ts
optional scrollPadding?: ScrollPadding<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: [ auto | <length-percentage> ]{1,4}

ChromeFirefoxSafariEdgeIE
696814.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding

Inherited from
ts
KeywordProps.scrollPadding
scrollPaddingBlock?
ts
optional scrollPaddingBlock?: ScrollPaddingBlock<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: [ auto | <length-percentage> ]{1,2}

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-block

Inherited from
ts
KeywordProps.scrollPaddingBlock
scrollPaddingBlockEnd?
ts
optional scrollPaddingBlockEnd?: ScrollPaddingBlockEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-block-end

Inherited from
ts
KeywordProps.scrollPaddingBlockEnd
scrollPaddingBlockStart?
ts
optional scrollPaddingBlockStart?: ScrollPaddingBlockStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-block-start

Inherited from
ts
KeywordProps.scrollPaddingBlockStart
scrollPaddingBottom?
ts
optional scrollPaddingBottom?: ScrollPaddingBottom<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
696814.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-bottom

Inherited from
ts
KeywordProps.scrollPaddingBottom
scrollPaddingInline?
ts
optional scrollPaddingInline?: ScrollPaddingInline<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: [ auto | <length-percentage> ]{1,2}

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-inline

Inherited from
ts
KeywordProps.scrollPaddingInline
scrollPaddingInlineEnd?
ts
optional scrollPaddingInlineEnd?: ScrollPaddingInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-inline-end

Inherited from
ts
KeywordProps.scrollPaddingInlineEnd
scrollPaddingInlineStart?
ts
optional scrollPaddingInlineStart?: ScrollPaddingInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
69681579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-inline-start

Inherited from
ts
KeywordProps.scrollPaddingInlineStart
scrollPaddingLeft?
ts
optional scrollPaddingLeft?: ScrollPaddingLeft<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
696814.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-left

Inherited from
ts
KeywordProps.scrollPaddingLeft
scrollPaddingRight?
ts
optional scrollPaddingRight?: ScrollPaddingRight<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
696814.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-right

Inherited from
ts
KeywordProps.scrollPaddingRight
scrollPaddingTop?
ts
optional scrollPaddingTop?: ScrollPaddingTop<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: auto | <length-percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
696814.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-padding-top

Inherited from
ts
KeywordProps.scrollPaddingTop
scrollSnapAlign?
ts
optional scrollSnapAlign?: ScrollSnapAlign;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: [ none | start | end | center ]{1,2}

Initial value: none

ChromeFirefoxSafariEdgeIE
69681179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-snap-align

Inherited from
ts
KeywordProps.scrollSnapAlign
scrollSnapCoordinate?
ts
optional scrollSnapCoordinate?: ScrollSnapCoordinate<0 | DimensionToken>;

Syntax: none | <position>#

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.scrollSnapCoordinate
scrollSnapDestination?
ts
optional scrollSnapDestination?: ScrollSnapDestination<0 | DimensionToken>;

Syntax: <position>

Initial value: 0px 0px

Deprecated
Inherited from
ts
KeywordProps.scrollSnapDestination
scrollSnapMargin?
ts
optional scrollSnapMargin?: ScrollMargin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2021.

Syntax: <length>{1,4}

ChromeFirefoxSafariEdgeIE
6968-9014.179No
11 (scroll-snap-margin)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin

Inherited from
ts
KeywordProps.scrollSnapMargin
scrollSnapMarginBottom?
ts
optional scrollSnapMarginBottom?: ScrollMarginBottom<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-bottom)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-bottom

Inherited from
ts
KeywordProps.scrollSnapMarginBottom
scrollSnapMarginLeft?
ts
optional scrollSnapMarginLeft?: ScrollMarginLeft<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-left)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-left

Inherited from
ts
KeywordProps.scrollSnapMarginLeft
scrollSnapMarginRight?
ts
optional scrollSnapMarginRight?: ScrollMarginRight<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-right)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-right

Inherited from
ts
KeywordProps.scrollSnapMarginRight
scrollSnapMarginTop?
ts
optional scrollSnapMarginTop?: ScrollMarginTop<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Syntax: <length>

Initial value: 0

ChromeFirefoxSafariEdgeIE
696814.179No
11 (scroll-snap-margin-top)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-margin-top

Inherited from
ts
KeywordProps.scrollSnapMarginTop
scrollSnapPointsX?
ts
optional scrollSnapPointsX?: ScrollSnapPointsX;

Syntax: none | repeat( <length-percentage> )

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.scrollSnapPointsX
scrollSnapPointsY?
ts
optional scrollSnapPointsY?: ScrollSnapPointsY;

Syntax: none | repeat( <length-percentage> )

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.scrollSnapPointsY
scrollSnapStop?
ts
optional scrollSnapStop?: ScrollSnapStop;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2022.

Syntax: normal | always

Initial value: normal

ChromeFirefoxSafariEdgeIE
751031579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-snap-stop

Inherited from
ts
KeywordProps.scrollSnapStop
scrollSnapType?
ts
optional scrollSnapType?: ScrollSnapType;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2022.

Syntax: none | [ x | y | block | inline | both ] [ mandatory | proximity ]?

Initial value: none

ChromeFirefoxSafariEdgeIE
6939-68117910 -x-
9 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-snap-type

Inherited from
ts
KeywordProps.scrollSnapType
scrollSnapTypeX?
ts
optional scrollSnapTypeX?: ScrollSnapTypeX;

Syntax: none | mandatory | proximity

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.scrollSnapTypeX
scrollSnapTypeY?
ts
optional scrollSnapTypeY?: ScrollSnapTypeY;

Syntax: none | mandatory | proximity

Initial value: none

Deprecated
Inherited from
ts
KeywordProps.scrollSnapTypeY
scrollTimeline?
ts
optional scrollTimeline?: ScrollTimeline;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-timeline

Inherited from
ts
KeywordProps.scrollTimeline
scrollTimelineAxis?
ts
optional scrollTimelineAxis?: ScrollTimelineAxis;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ block | inline | x | y ]#

Initial value: block

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-timeline-axis

Inherited from
ts
KeywordProps.scrollTimelineAxis
scrollTimelineName?
ts
optional scrollTimelineName?: ScrollTimelineName;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ none | <dashed-ident> ]#

Initial value: none

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/scroll-timeline-name

Inherited from
ts
KeywordProps.scrollTimelineName
shapeImageThreshold?
ts
optional shapeImageThreshold?: ShapeImageThreshold;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <opacity-value>

Initial value: 0.0

ChromeFirefoxSafariEdgeIE
376210.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/shape-image-threshold

Inherited from
ts
KeywordProps.shapeImageThreshold
shapeMargin?
ts
optional shapeMargin?: ShapeMargin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <length-percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
376210.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/shape-margin

Inherited from
ts
KeywordProps.shapeMargin
shapeOutside?
ts
optional shapeOutside?: ShapeOutside;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: none | [ <shape-box> || <basic-shape> ] | <image>

Initial value: none

ChromeFirefoxSafariEdgeIE
376210.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/shape-outside

Inherited from
ts
KeywordProps.shapeOutside
shapeRendering?
ts
optional shapeRendering?: ShapeRendering;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | optimizeSpeed | crispEdges | geometricPrecision

Initial value: auto

ChromeFirefoxSafariEdgeIE
13479No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/shape-rendering

Inherited from
ts
KeywordProps.shapeRendering
speakAs?
ts
optional speakAs?: SpeakAs;

Syntax: normal | spell-out || digits || [ literal-punctuation | no-punctuation ]

Initial value: auto

ChromeFirefoxSafariEdgeIE
NoNo11.1NoNo
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/speak-as

Inherited from
ts
KeywordProps.speakAs
stopColor?
ts
optional stopColor?: StopColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <'color'>

Initial value: black

ChromeFirefoxSafariEdgeIE
134≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stop-color

Inherited from
ts
KeywordProps.stopColor
stopOpacity?
ts
optional stopOpacity?: StopOpacity;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <'opacity'>

Initial value: black

ChromeFirefoxSafariEdgeIE
134≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stop-opacity

Inherited from
ts
KeywordProps.stopOpacity
stroke?
ts
optional stroke?: ColorLike;
Inherited from
ts
TokenMappedProps.stroke
strokeColor?
ts
optional strokeColor?: StrokeColor;

Syntax: <color>

Initial value: transparent

ChromeFirefoxSafariEdgeIE
NoNo11.1NoNo
Inherited from
ts
KeywordProps.strokeColor
strokeDasharray?
ts
optional strokeDasharray?: StrokeDasharray<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: none | <dasharray>

Initial value: none

ChromeFirefoxSafariEdgeIE
11.54≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stroke-dasharray

Inherited from
ts
KeywordProps.strokeDasharray
strokeDashoffset?
ts
optional strokeDashoffset?: StrokeDashoffset<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <length-percentage> | <number>

Initial value: 0

ChromeFirefoxSafariEdgeIE
11.54≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stroke-dashoffset

Inherited from
ts
KeywordProps.strokeDashoffset
strokeLinecap?
ts
optional strokeLinecap?: StrokeLinecap;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: butt | round | square

Initial value: butt

ChromeFirefoxSafariEdgeIE
11.54≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stroke-linecap

Inherited from
ts
KeywordProps.strokeLinecap
strokeLinejoin?
ts
optional strokeLinejoin?: StrokeLinejoin;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: miter | miter-clip | round | bevel | arcs

Initial value: miter

ChromeFirefoxSafariEdgeIE
11.54≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stroke-linejoin

Inherited from
ts
KeywordProps.strokeLinejoin
strokeMiterlimit?
ts
optional strokeMiterlimit?: StrokeMiterlimit;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <number>

Initial value: 4

ChromeFirefoxSafariEdgeIE
11.54≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stroke-miterlimit

Inherited from
ts
KeywordProps.strokeMiterlimit
strokeOpacity?
ts
optional strokeOpacity?: StrokeOpacity;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <'opacity'>

Initial value: 1

ChromeFirefoxSafariEdgeIE
11.54≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stroke-opacity

Inherited from
ts
KeywordProps.strokeOpacity
strokeWidth?
ts
optional strokeWidth?: StrokeWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <length-percentage> | <number>

Initial value: 1px

ChromeFirefoxSafariEdgeIE
11.54≤15No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/stroke-width

Inherited from
ts
KeywordProps.strokeWidth
tableLayout?
ts
optional tableLayout?: TableLayout;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: auto | fixed

Initial value: auto

ChromeFirefoxSafariEdgeIE
1411125
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/table-layout

Inherited from
ts
KeywordProps.tableLayout
tabSize?
ts
optional tabSize?: TabSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2021.

Syntax: <integer> | <length>

Initial value: 8

ChromeFirefoxSafariEdgeIE
2191779No
4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/tab-size

Inherited from
ts
KeywordProps.tabSize
textAlign?
ts
optional textAlign?: TextAlign;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: start | end | left | right | center | justify | match-parent

Initial value: start, or a nameless value that acts as left if direction is ltr, right if direction is rtl if start is not supported by the browser.

ChromeFirefoxSafariEdgeIE
111123
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-align

Inherited from
ts
KeywordProps.textAlign
textAlignLast?
ts
optional textAlignLast?: TextAlignLast;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Syntax: auto | start | end | left | right | center | justify

Initial value: auto

ChromeFirefoxSafariEdgeIE
474916125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-align-last

Inherited from
ts
KeywordProps.textAlignLast
textAnchor?
ts
optional textAnchor?: TextAnchor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.

Syntax: start | middle | end

Initial value: start

ChromeFirefoxSafariEdgeIE
134≤14No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-anchor

Inherited from
ts
KeywordProps.textAnchor
textAutospace?
ts
optional textAutospace?: TextAutospace;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | <autospace> | auto

Initial value: normal

ChromeFirefoxSafariEdgeIE
14014518.4140No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-autospace

Inherited from
ts
KeywordProps.textAutospace
textBox?
ts
optional textBox?: TextBox;

Syntax: normal | <'text-box-trim'> || <'text-box-edge'>

Initial value: normal

ChromeFirefoxSafariEdgeIE
133No18.2133No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-box

Inherited from
ts
KeywordProps.textBox
textBoxEdge?
ts
optional textBoxEdge?: TextBoxEdge;

Syntax: auto | <text-edge>

Initial value: auto

ChromeFirefoxSafariEdgeIE
133No18.2133No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-box-edge

Inherited from
ts
KeywordProps.textBoxEdge
textBoxTrim?
ts
optional textBoxTrim?: TextBoxTrim;

Syntax: none | trim-start | trim-end | trim-both

Initial value: none

ChromeFirefoxSafariEdgeIE
133No18.2133No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-box-trim

Inherited from
ts
KeywordProps.textBoxTrim
textCombineUpright?
ts
optional textCombineUpright?: TextCombineUpright;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | all | [ digits <integer>? ]

Initial value: none

ChromeFirefoxSafariEdgeIE
484815.47911 (-ms-text-combine-horizontal)
9 (-webkit-text-combine)5.1 (-webkit-text-combine)
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-combine-upright

Inherited from
ts
KeywordProps.textCombineUpright
textDecoration?
ts
optional textDecoration?: TextDecoration<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>

ChromeFirefoxSafariEdgeIE
111123
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-decoration

Inherited from
ts
KeywordProps.textDecoration
textDecorationColor?
ts
optional textDecorationColor?: ColorLike;
Inherited from
ts
TokenMappedProps.textDecorationColor
textDecorationLine?
ts
optional textDecorationLine?: TextDecorationLine;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error

Initial value: none

ChromeFirefoxSafariEdgeIE
573612.179No
8 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-decoration-line

Inherited from
ts
KeywordProps.textDecorationLine
textDecorationSkip?
ts
optional textDecorationSkip?: TextDecorationSkip;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]

Initial value: objects

ChromeFirefoxSafariEdgeIE
57-64No12.1NoNo
7 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-decoration-skip

Inherited from
ts
KeywordProps.textDecorationSkip
textDecorationSkipInk?
ts
optional textDecorationSkipInk?: TextDecorationSkipInk;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: auto | all | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
647015.479No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-decoration-skip-ink

Inherited from
ts
KeywordProps.textDecorationSkipInk
textDecorationStyle?
ts
optional textDecorationStyle?: TextDecorationStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: solid | double | dotted | dashed | wavy

Initial value: solid

ChromeFirefoxSafariEdgeIE
573612.179No
8 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-decoration-style

Inherited from
ts
KeywordProps.textDecorationStyle
textDecorationThickness?
ts
optional textDecorationThickness?: TextDecorationThickness<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2021.

Syntax: auto | from-font | <length> | <percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
897012.189No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-decoration-thickness

Inherited from
ts
KeywordProps.textDecorationThickness
textEmphasis?
ts
optional textEmphasis?: TextEmphasis;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: <'text-emphasis-style'> || <'text-emphasis-color'>

ChromeFirefoxSafariEdgeIE
9946799No
25 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-emphasis

Inherited from
ts
KeywordProps.textEmphasis
textEmphasisColor?
ts
optional textEmphasisColor?: TextEmphasisColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: <color>

Initial value: currentcolor

ChromeFirefoxSafariEdgeIE
9946799No
25 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-emphasis-color

Inherited from
ts
KeywordProps.textEmphasisColor
textEmphasisPosition?
ts
optional textEmphasisPosition?: TextEmphasisPosition;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: auto | [ over | under ] && [ right | left ]?

Initial value: auto

ChromeFirefoxSafariEdgeIE
9946799No
25 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-emphasis-position

Inherited from
ts
KeywordProps.textEmphasisPosition
textEmphasisStyle?
ts
optional textEmphasisStyle?: TextEmphasisStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>

Initial value: none

ChromeFirefoxSafariEdgeIE
9946799No
25 -x-79 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-emphasis-style

Inherited from
ts
KeywordProps.textEmphasisStyle
textIndent?
ts
optional textIndent?: Size;
Inherited from
ts
TokenMappedProps.textIndent
textJustify?
ts
optional textJustify?: TextJustify;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | inter-character | inter-word | none

Initial value: auto

ChromeFirefoxSafariEdgeIE
No55No12-7911
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-justify

Inherited from
ts
KeywordProps.textJustify
textOrientation?
ts
optional textOrientation?: TextOrientation;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.

Syntax: mixed | upright | sideways

Initial value: mixed

ChromeFirefoxSafariEdgeIE
48411479No
12 -x-5.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-orientation

Inherited from
ts
KeywordProps.textOrientation
textOverflow?
ts
optional textOverflow?: TextOverflow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ clip | ellipsis | <string> ]{1,2}

Initial value: clip

ChromeFirefoxSafariEdgeIE
171.3126
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-overflow

Inherited from
ts
KeywordProps.textOverflow
textRendering?
ts
optional textRendering?: TextRendering;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | optimizeSpeed | optimizeLegibility | geometricPrecision

Initial value: auto

ChromeFirefoxSafariEdgeIE
41579No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-rendering

Inherited from
ts
KeywordProps.textRendering
textShadow?
ts
optional textShadow?: ShadowLike;
Inherited from
ts
TokenMappedProps.textShadow
textSizeAdjust?
ts
optional textSizeAdjust?: TextSizeAdjust;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | auto | <percentage>

Initial value: auto for smartphone browsers supporting inflation, none in other cases (and then not modifiable).

ChromeFirefoxSafariEdgeIE
54NoNo79No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-size-adjust

Inherited from
ts
KeywordProps.textSizeAdjust
textSpacingTrim?
ts
optional textSpacingTrim?: TextSpacingTrim;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: space-all | normal | space-first | trim-start

Initial value: normal

ChromeFirefoxSafariEdgeIE
123NoNo123No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-spacing-trim

Inherited from
ts
KeywordProps.textSpacingTrim
textTransform?
ts
optional textTransform?: TextTransform;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: none | [ capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto

Initial value: none

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-transform

Inherited from
ts
KeywordProps.textTransform
textUnderlineOffset?
ts
optional textUnderlineOffset?: TextUnderlineOffset<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2020.

Syntax: auto | <length> | <percentage>

Initial value: auto

ChromeFirefoxSafariEdgeIE
877012.187No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-underline-offset

Inherited from
ts
KeywordProps.textUnderlineOffset
textUnderlinePosition?
ts
optional textUnderlinePosition?: TextUnderlinePosition;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: auto | from-font | [ under || [ left | right ] ]

Initial value: auto

ChromeFirefoxSafariEdgeIE
337412.1126
9 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-underline-position

Inherited from
ts
KeywordProps.textUnderlinePosition
textWrap?
ts
optional textWrap?: TextWrap;

Since March 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <'text-wrap-mode'> || <'text-wrap-style'>

Initial value: wrap

ChromeFirefoxSafariEdgeIE
11412117.4114No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-wrap

Inherited from
ts
KeywordProps.textWrap
textWrapMode?
ts
optional textWrapMode?: TextWrapMode;

Since October 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: wrap | nowrap

Initial value: wrap

ChromeFirefoxSafariEdgeIE
13012417.4130No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-wrap-mode

Inherited from
ts
KeywordProps.textWrapMode
textWrapStyle?
ts
optional textWrapStyle?: TextWrapStyle;

Since October 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto | balance | stable | pretty

Initial value: auto

ChromeFirefoxSafariEdgeIE
13012417.5130No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/text-wrap-style

Inherited from
ts
KeywordProps.textWrapStyle
timelineScope?
ts
optional timelineScope?: TimelineScope;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <dashed-ident>#

Initial value: none

ChromeFirefoxSafariEdgeIE
116No26116No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/timeline-scope

Inherited from
ts
KeywordProps.timelineScope
top?
ts
optional top?: SizeAuto;
Inherited from
ts
TokenMappedProps.top
touchAction?
ts
optional touchAction?: TouchAction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2019.

Syntax: auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation

Initial value: auto

ChromeFirefoxSafariEdgeIE
3652131211
10 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/touch-action

Inherited from
ts
KeywordProps.touchAction
transform?
ts
optional transform?: Transform;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <transform-list>

Initial value: none

ChromeFirefoxSafariEdgeIE
361691210
1 -x-3.5 -x-3.1 -x-9 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/transform

Inherited from
ts
KeywordProps.transform
transformBox?
ts
optional transformBox?: TransformBox;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: content-box | border-box | fill-box | stroke-box | view-box

Initial value: view-box

ChromeFirefoxSafariEdgeIE
64551179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/transform-box

Inherited from
ts
KeywordProps.transformBox
transformOrigin?
ts
optional transformOrigin?: TransformOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?

Initial value: 50% 50% 0

ChromeFirefoxSafariEdgeIE
361691210
1 -x-3.5 -x-2 -x-9 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/transform-origin

Inherited from
ts
KeywordProps.transformOrigin
transformStyle?
ts
optional transformStyle?: TransformStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: flat | preserve-3d

Initial value: flat

ChromeFirefoxSafariEdgeIE
3616912No
12 -x-10 -x-4 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/transform-style

Inherited from
ts
KeywordProps.transformStyle
transition?
ts
optional transition?: Transition<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-transition>#

ChromeFirefoxSafariEdgeIE
261691210
1 -x-3.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/transition

Inherited from
ts
KeywordProps.transition
transitionBehavior?
ts
optional transitionBehavior?: TransitionBehavior;

Since August 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <transition-behavior-value>#

Initial value: normal

ChromeFirefoxSafariEdgeIE
11712917.4117No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/transition-behavior

Inherited from
ts
KeywordProps.transitionBehavior
transitionDelay?
ts
optional transitionDelay?: DurationToken | Wide;
Inherited from
ts
TokenMappedProps.transitionDelay
transitionDuration?
ts
optional transitionDuration?: DurationToken | Wide;
Inherited from
ts
TokenMappedProps.transitionDuration
transitionProperty?
ts
optional transitionProperty?: TransitionProperty;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <single-transition-property>#

Initial value: all

ChromeFirefoxSafariEdgeIE
261691210
1 -x-3.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/transition-property

Inherited from
ts
KeywordProps.transitionProperty
transitionTimingFunction?
ts
optional transitionTimingFunction?: Easing;
Inherited from
ts
TokenMappedProps.transitionTimingFunction
translate?
ts
optional translate?: Translate<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2022.

Syntax: none | <length-percentage> [ <length-percentage> <length>? ]?

Initial value: none

ChromeFirefoxSafariEdgeIE
1047214.1104No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/translate

Inherited from
ts
KeywordProps.translate
unicodeBidi?
ts
optional unicodeBidi?: UnicodeBidi;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: normal | embed | isolate | bidi-override | isolate-override | plaintext

Initial value: normal

ChromeFirefoxSafariEdgeIE
211.3125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/unicode-bidi

Inherited from
ts
KeywordProps.unicodeBidi
userSelect?
ts
optional userSelect?: UserSelect;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | text | none | all

Initial value: auto

ChromeFirefoxSafariEdgeIE
54693 -x-7910 -x-
1 -x-1 -x-12 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/user-select

Inherited from
ts
KeywordProps.userSelect
vectorEffect?
ts
optional vectorEffect?: VectorEffect;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: none | non-scaling-stroke | non-scaling-size | non-rotation | fixed-position

Initial value: none

ChromeFirefoxSafariEdgeIE
6155.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/vector-effect

Inherited from
ts
KeywordProps.vectorEffect
verticalAlign?
ts
optional verticalAlign?: VerticalAlign<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>

Initial value: baseline

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/vertical-align

Inherited from
ts
KeywordProps.verticalAlign
viewTimeline?
ts
optional viewTimeline?: ViewTimeline;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ <'view-timeline-name'> [ <'view-timeline-axis'> || <'view-timeline-inset'> ]? ]#

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/view-timeline

Inherited from
ts
KeywordProps.viewTimeline
viewTimelineAxis?
ts
optional viewTimelineAxis?: ViewTimelineAxis;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ block | inline | x | y ]#

Initial value: block

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/view-timeline-axis

Inherited from
ts
KeywordProps.viewTimelineAxis
viewTimelineInset?
ts
optional viewTimelineInset?: ViewTimelineInset<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ [ auto | <length-percentage> ]{1,2} ]#

Initial value: auto

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/view-timeline-inset

Inherited from
ts
KeywordProps.viewTimelineInset
viewTimelineName?
ts
optional viewTimelineName?: ViewTimelineName;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ none | <dashed-ident> ]#

Initial value: none

ChromeFirefoxSafariEdgeIE
115No26115No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/view-timeline-name

Inherited from
ts
KeywordProps.viewTimelineName
viewTransitionClass?
ts
optional viewTransitionClass?: ViewTransitionClass;

Syntax: none | <custom-ident>+

Initial value: none

ChromeFirefoxSafariEdgeIE
12514418.2125No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/view-transition-class

Inherited from
ts
KeywordProps.viewTransitionClass
viewTransitionName?
ts
optional viewTransitionName?: ViewTransitionName;

Since October 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | <custom-ident> | match-element

Initial value: none

ChromeFirefoxSafariEdgeIE
11114418111No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/view-transition-name

Inherited from
ts
KeywordProps.viewTransitionName
visibility?
ts
optional visibility?: Visibility;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: visible | hidden | collapse

Initial value: visible

ChromeFirefoxSafariEdgeIE
111124
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/visibility

Inherited from
ts
KeywordProps.visibility
WebkitAlignContent?
ts
optional WebkitAlignContent?: AlignContent;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>

Initial value: normal

Inherited from
ts
KeywordProps.WebkitAlignContent
WebkitAlignItems?
ts
optional WebkitAlignItems?: AlignItems;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ] | anchor-center

Initial value: normal

Inherited from
ts
KeywordProps.WebkitAlignItems
WebkitAlignSelf?
ts
optional WebkitAlignSelf?: AlignSelf;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position> | anchor-center

Initial value: auto

Inherited from
ts
KeywordProps.WebkitAlignSelf
WebkitAnimation?
ts
optional WebkitAnimation?: Animation<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation>#

Inherited from
ts
KeywordProps.WebkitAnimation
WebkitAnimationDelay?
ts
optional WebkitAnimationDelay?: AnimationDelay<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Inherited from
ts
KeywordProps.WebkitAnimationDelay
WebkitAnimationDirection?
ts
optional WebkitAnimationDirection?: AnimationDirection;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-direction>#

Initial value: normal

Inherited from
ts
KeywordProps.WebkitAnimationDirection
WebkitAnimationDuration?
ts
optional WebkitAnimationDuration?: AnimationDuration<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ auto | <time [0s,∞]> ]#

Initial value: 0s

Inherited from
ts
KeywordProps.WebkitAnimationDuration
WebkitAnimationFillMode?
ts
optional WebkitAnimationFillMode?: AnimationFillMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-fill-mode>#

Initial value: none

Inherited from
ts
KeywordProps.WebkitAnimationFillMode
WebkitAnimationIterationCount?
ts
optional WebkitAnimationIterationCount?: AnimationIterationCount;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-iteration-count>#

Initial value: 1

Inherited from
ts
KeywordProps.WebkitAnimationIterationCount
WebkitAnimationName?
ts
optional WebkitAnimationName?: AnimationName;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ none | <keyframes-name> ]#

Initial value: none

Inherited from
ts
KeywordProps.WebkitAnimationName
WebkitAnimationPlayState?
ts
optional WebkitAnimationPlayState?: AnimationPlayState;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-animation-play-state>#

Initial value: running

Inherited from
ts
KeywordProps.WebkitAnimationPlayState
WebkitAnimationTimingFunction?
ts
optional WebkitAnimationTimingFunction?: AnimationTimingFunction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <easing-function>#

Initial value: ease

Inherited from
ts
KeywordProps.WebkitAnimationTimingFunction
WebkitAppearance?
ts
optional WebkitAppearance?: WebkitAppearance;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button

Initial value: none (but this value is overridden in the user agent CSS)

Inherited from
ts
KeywordProps.WebkitAppearance
WebkitBackdropFilter?
ts
optional WebkitBackdropFilter?: BackdropFilter;

Since September 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | <filter-value-list>

Initial value: none

Inherited from
ts
KeywordProps.WebkitBackdropFilter
WebkitBackfaceVisibility?
ts
optional WebkitBackfaceVisibility?: BackfaceVisibility;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: visible | hidden

Initial value: visible

Inherited from
ts
KeywordProps.WebkitBackfaceVisibility
WebkitBackgroundClip?
ts
optional WebkitBackgroundClip?: BackgroundClip;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-clip>#

Initial value: border-box

Inherited from
ts
KeywordProps.WebkitBackgroundClip
WebkitBackgroundOrigin?
ts
optional WebkitBackgroundOrigin?: BackgroundOrigin;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <visual-box>#

Initial value: padding-box

Inherited from
ts
KeywordProps.WebkitBackgroundOrigin
WebkitBackgroundSize?
ts
optional WebkitBackgroundSize?: BackgroundSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <bg-size>#

Initial value: auto auto

Inherited from
ts
KeywordProps.WebkitBackgroundSize
WebkitBorderBefore?
ts
optional WebkitBorderBefore?: WebkitBorderBefore<0 | DimensionToken>;

The -webkit-border-before CSS property is a shorthand property for setting the individual logical block start border property values in a single place in the style sheet.

Syntax: <'border-width'> || <'border-style'> || <color>

Inherited from
ts
KeywordProps.WebkitBorderBefore
WebkitBorderBeforeColor?
ts
optional WebkitBorderBeforeColor?: WebkitBorderBeforeColor;

Syntax: <color>

Initial value: currentcolor

Inherited from
ts
KeywordProps.WebkitBorderBeforeColor
WebkitBorderBeforeStyle?
ts
optional WebkitBorderBeforeStyle?: WebkitBorderBeforeStyle;

Syntax: <'border-style'>

Initial value: none

Inherited from
ts
KeywordProps.WebkitBorderBeforeStyle
WebkitBorderBeforeWidth?
ts
optional WebkitBorderBeforeWidth?: WebkitBorderBeforeWidth<0 | DimensionToken>;

Syntax: <'border-width'>

Initial value: medium

Inherited from
ts
KeywordProps.WebkitBorderBeforeWidth
WebkitBorderBottomLeftRadius?
ts
optional WebkitBorderBottomLeftRadius?: BorderBottomLeftRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Inherited from
ts
KeywordProps.WebkitBorderBottomLeftRadius
WebkitBorderBottomRightRadius?
ts
optional WebkitBorderBottomRightRadius?: BorderBottomRightRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Inherited from
ts
KeywordProps.WebkitBorderBottomRightRadius
WebkitBorderImage?
ts
optional WebkitBorderImage?: BorderImage;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>

Inherited from
ts
KeywordProps.WebkitBorderImage
WebkitBorderImageSlice?
ts
optional WebkitBorderImageSlice?: BorderImageSlice;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: [ <number [0,∞]> | <percentage [0,∞]> ]{1,4} && fill?

Initial value: 100%

Inherited from
ts
KeywordProps.WebkitBorderImageSlice
WebkitBorderRadius?
ts
optional WebkitBorderRadius?: BorderRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?

Inherited from
ts
KeywordProps.WebkitBorderRadius
WebkitBorderTopLeftRadius?
ts
optional WebkitBorderTopLeftRadius?: BorderTopLeftRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Inherited from
ts
KeywordProps.WebkitBorderTopLeftRadius
WebkitBorderTopRightRadius?
ts
optional WebkitBorderTopRightRadius?: BorderTopRightRadius<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: <length-percentage [0,∞]>{1,2}

Initial value: 0

Inherited from
ts
KeywordProps.WebkitBorderTopRightRadius
WebkitBoxAlign?
ts
optional WebkitBoxAlign?: BoxAlign;

The box-align CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.

Syntax: start | center | end | baseline | stretch

Initial value: stretch

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxAlign
WebkitBoxDecorationBreak?
ts
optional WebkitBoxDecorationBreak?: BoxDecorationBreak;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: slice | clone

Initial value: slice

Inherited from
ts
KeywordProps.WebkitBoxDecorationBreak
WebkitBoxDirection?
ts
optional WebkitBoxDirection?: BoxDirection;

The box-direction CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).

Syntax: normal | reverse | inherit

Initial value: normal

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxDirection
WebkitBoxFlex?
ts
optional WebkitBoxFlex?: BoxFlex;

The -moz-box-flex and -webkit-box-flex CSS properties specify how a -moz-box or -webkit-box grows to fill the box that contains it, in the direction of the containing box's layout.

Syntax: <number>

Initial value: 0

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxFlex
WebkitBoxFlexGroup?
ts
optional WebkitBoxFlexGroup?: BoxFlexGroup;

The box-flex-group CSS property assigns the flexbox's child elements to a flex group.

Syntax: <integer>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxFlexGroup
WebkitBoxLines?
ts
optional WebkitBoxLines?: BoxLines;

The box-lines CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).

Syntax: single | multiple

Initial value: single

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxLines
WebkitBoxOrdinalGroup?
ts
optional WebkitBoxOrdinalGroup?: BoxOrdinalGroup;

The box-ordinal-group CSS property assigns the flexbox's child elements to an ordinal group.

Syntax: <integer>

Initial value: 1

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxOrdinalGroup
WebkitBoxOrient?
ts
optional WebkitBoxOrient?: BoxOrient;

The box-orient CSS property sets whether an element lays out its contents horizontally or vertically.

Syntax: horizontal | vertical | inline-axis | block-axis | inherit

Initial value: inline-axis

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxOrient
WebkitBoxPack?
ts
optional WebkitBoxPack?: BoxPack;

The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.

Syntax: start | center | end | justify

Initial value: start

Deprecated
Inherited from
ts
KeywordProps.WebkitBoxPack
WebkitBoxReflect?
ts
optional WebkitBoxReflect?: WebkitBoxReflect<0 | DimensionToken>;

The -webkit-box-reflect CSS property lets you reflect the content of an element in one specific direction.

Syntax: [ above | below | right | left ]? <length>? <image>?

Initial value: none

Inherited from
ts
KeywordProps.WebkitBoxReflect
WebkitBoxShadow?
ts
optional WebkitBoxShadow?: BoxShadow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: none | <shadow>#

Initial value: none

Inherited from
ts
KeywordProps.WebkitBoxShadow
WebkitBoxSizing?
ts
optional WebkitBoxSizing?: BoxSizing;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: content-box | border-box

Initial value: content-box

Inherited from
ts
KeywordProps.WebkitBoxSizing
WebkitClipPath?
ts
optional WebkitClipPath?: ClipPath;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <clip-source> | [ <basic-shape> || <geometry-box> ] | none

Initial value: none

Inherited from
ts
KeywordProps.WebkitClipPath
WebkitColumnCount?
ts
optional WebkitColumnCount?: ColumnCount;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <integer> | auto

Initial value: auto

Inherited from
ts
KeywordProps.WebkitColumnCount
WebkitColumnFill?
ts
optional WebkitColumnFill?: ColumnFill;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: auto | balance

Initial value: balance

Inherited from
ts
KeywordProps.WebkitColumnFill
WebkitColumnRule?
ts
optional WebkitColumnRule?: ColumnRule<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>

Inherited from
ts
KeywordProps.WebkitColumnRule
WebkitColumnRuleColor?
ts
optional WebkitColumnRuleColor?: ColumnRuleColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <color>

Initial value: currentcolor

Inherited from
ts
KeywordProps.WebkitColumnRuleColor
WebkitColumnRuleStyle?
ts
optional WebkitColumnRuleStyle?: ColumnRuleStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'border-style'>

Initial value: none

Inherited from
ts
KeywordProps.WebkitColumnRuleStyle
WebkitColumnRuleWidth?
ts
optional WebkitColumnRuleWidth?: ColumnRuleWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'border-width'>

Initial value: medium

Inherited from
ts
KeywordProps.WebkitColumnRuleWidth
WebkitColumns?
ts
optional WebkitColumns?: Columns<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: <'column-width'> || <'column-count'>

Inherited from
ts
KeywordProps.WebkitColumns
WebkitColumnSpan?
ts
optional WebkitColumnSpan?: ColumnSpan;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: none | all

Initial value: none

Inherited from
ts
KeywordProps.WebkitColumnSpan
WebkitColumnWidth?
ts
optional WebkitColumnWidth?: ColumnWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2016.

Syntax: <length> | auto

Initial value: auto

Inherited from
ts
KeywordProps.WebkitColumnWidth
WebkitFilter?
ts
optional WebkitFilter?: Filter;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

Syntax: none | <filter-value-list>

Initial value: none

Inherited from
ts
KeywordProps.WebkitFilter
WebkitFlex?
ts
optional WebkitFlex?: Flex<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

Inherited from
ts
KeywordProps.WebkitFlex
WebkitFlexBasis?
ts
optional WebkitFlexBasis?: FlexBasis<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: content | <'width'>

Initial value: auto

Inherited from
ts
KeywordProps.WebkitFlexBasis
WebkitFlexDirection?
ts
optional WebkitFlexDirection?: FlexDirection;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: row | row-reverse | column | column-reverse

Initial value: row

Inherited from
ts
KeywordProps.WebkitFlexDirection
WebkitFlexFlow?
ts
optional WebkitFlexFlow?: FlexFlow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <'flex-direction'> || <'flex-wrap'>

Inherited from
ts
KeywordProps.WebkitFlexFlow
WebkitFlexGrow?
ts
optional WebkitFlexGrow?: FlexGrow;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <number>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitFlexGrow
WebkitFlexShrink?
ts
optional WebkitFlexShrink?: FlexShrink;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <number>

Initial value: 1

Inherited from
ts
KeywordProps.WebkitFlexShrink
WebkitFlexWrap?
ts
optional WebkitFlexWrap?: FlexWrap;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: nowrap | wrap | wrap-reverse

Initial value: nowrap

Inherited from
ts
KeywordProps.WebkitFlexWrap
WebkitFontFeatureSettings?
ts
optional WebkitFontFeatureSettings?: FontFeatureSettings;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: normal | <feature-tag-value>#

Initial value: normal

Inherited from
ts
KeywordProps.WebkitFontFeatureSettings
WebkitFontKerning?
ts
optional WebkitFontKerning?: FontKerning;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | normal | none

Initial value: auto

Inherited from
ts
KeywordProps.WebkitFontKerning
WebkitFontSmoothing?
ts
optional WebkitFontSmoothing?: FontSmooth<0 | DimensionToken>;

The font-smooth CSS property controls the application of anti-aliasing when fonts are rendered.

Syntax: auto | never | always | <absolute-size> | <length>

Initial value: auto

Inherited from
ts
KeywordProps.WebkitFontSmoothing
WebkitFontVariantLigatures?
ts
optional WebkitFontVariantLigatures?: FontVariantLigatures;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]

Initial value: normal

Inherited from
ts
KeywordProps.WebkitFontVariantLigatures
WebkitHyphenateCharacter?
ts
optional WebkitHyphenateCharacter?: HyphenateCharacter;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: auto | <string>

Initial value: auto

Inherited from
ts
KeywordProps.WebkitHyphenateCharacter
WebkitHyphens?
ts
optional WebkitHyphens?: Hyphens;

Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: none | manual | auto

Initial value: manual

Inherited from
ts
KeywordProps.WebkitHyphens
WebkitInitialLetter?
ts
optional WebkitInitialLetter?: InitialLetter;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: normal | [ <number> <integer>? ]

Initial value: normal

Inherited from
ts
KeywordProps.WebkitInitialLetter
WebkitJustifyContent?
ts
optional WebkitJustifyContent?: JustifyContent;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]

Initial value: normal

Inherited from
ts
KeywordProps.WebkitJustifyContent
WebkitLineBreak?
ts
optional WebkitLineBreak?: LineBreak;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: auto | loose | normal | strict | anywhere

Initial value: auto

Inherited from
ts
KeywordProps.WebkitLineBreak
WebkitLineClamp?
ts
optional WebkitLineClamp?: WebkitLineClamp;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <integer>

Initial value: none

Inherited from
ts
KeywordProps.WebkitLineClamp
WebkitLogicalHeight?
ts
optional WebkitLogicalHeight?: BlockSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'width'>

Initial value: auto

Inherited from
ts
KeywordProps.WebkitLogicalHeight
WebkitLogicalWidth?
ts
optional WebkitLogicalWidth?: InlineSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'width'>

Initial value: auto

Inherited from
ts
KeywordProps.WebkitLogicalWidth
WebkitMarginEnd?
ts
optional WebkitMarginEnd?: MarginInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'margin-top'>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitMarginEnd
WebkitMarginStart?
ts
optional WebkitMarginStart?: MarginInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'margin-top'>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitMarginStart
WebkitMask?
ts
optional WebkitMask?: WebkitMask<0 | DimensionToken>;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <visual-box> | border | padding | content | text ] || [ <visual-box> | border | padding | content ] ]#

Inherited from
ts
KeywordProps.WebkitMask
WebkitMaskAttachment?
ts
optional WebkitMaskAttachment?: WebkitMaskAttachment;

Syntax: <attachment>#

Initial value: scroll

Inherited from
ts
KeywordProps.WebkitMaskAttachment
WebkitMaskBoxImage?
ts
optional WebkitMaskBoxImage?: MaskBorder;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>

Inherited from
ts
KeywordProps.WebkitMaskBoxImage
WebkitMaskBoxImageOutset?
ts
optional WebkitMaskBoxImageOutset?: MaskBorderOutset<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ <length> | <number> ]{1,4}

Initial value: 0

Inherited from
ts
KeywordProps.WebkitMaskBoxImageOutset
WebkitMaskBoxImageRepeat?
ts
optional WebkitMaskBoxImageRepeat?: MaskBorderRepeat;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ stretch | repeat | round | space ]{1,2}

Initial value: stretch

Inherited from
ts
KeywordProps.WebkitMaskBoxImageRepeat
WebkitMaskBoxImageSlice?
ts
optional WebkitMaskBoxImageSlice?: MaskBorderSlice;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <number-percentage>{1,4} fill?

Initial value: 0

Inherited from
ts
KeywordProps.WebkitMaskBoxImageSlice
WebkitMaskBoxImageSource?
ts
optional WebkitMaskBoxImageSource?: MaskBorderSource;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | <image>

Initial value: none

Inherited from
ts
KeywordProps.WebkitMaskBoxImageSource
WebkitMaskBoxImageWidth?
ts
optional WebkitMaskBoxImageWidth?: MaskBorderWidth<0 | DimensionToken>;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: [ <length-percentage> | <number> | auto ]{1,4}

Initial value: auto

Inherited from
ts
KeywordProps.WebkitMaskBoxImageWidth
WebkitMaskClip?
ts
optional WebkitMaskClip?: WebkitMaskClip;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ <coord-box> | no-clip | border | padding | content | text ]#

Initial value: border

Inherited from
ts
KeywordProps.WebkitMaskClip
WebkitMaskComposite?
ts
optional WebkitMaskComposite?: WebkitMaskComposite;

The -webkit-mask-composite property specifies the manner in which multiple mask images applied to the same element are composited with one another. Mask images are composited in the opposite order that they are declared with the -webkit-mask-image property.

Syntax: <composite-style>#

Initial value: source-over

Inherited from
ts
KeywordProps.WebkitMaskComposite
WebkitMaskImage?
ts
optional WebkitMaskImage?: WebkitMaskImage;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <mask-reference>#

Initial value: none

Inherited from
ts
KeywordProps.WebkitMaskImage
WebkitMaskOrigin?
ts
optional WebkitMaskOrigin?: WebkitMaskOrigin;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ <coord-box> | border | padding | content ]#

Initial value: padding

Inherited from
ts
KeywordProps.WebkitMaskOrigin
WebkitMaskPosition?
ts
optional WebkitMaskPosition?: WebkitMaskPosition<0 | DimensionToken>;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <position>#

Initial value: 0% 0%

Inherited from
ts
KeywordProps.WebkitMaskPosition
WebkitMaskPositionX?
ts
optional WebkitMaskPositionX?: WebkitMaskPositionX<0 | DimensionToken>;

The -webkit-mask-position-x CSS property sets the initial horizontal position of a mask image.

Syntax: [ <length-percentage> | left | center | right ]#

Initial value: 0%

Inherited from
ts
KeywordProps.WebkitMaskPositionX
WebkitMaskPositionY?
ts
optional WebkitMaskPositionY?: WebkitMaskPositionY<0 | DimensionToken>;

The -webkit-mask-position-y CSS property sets the initial vertical position of a mask image.

Syntax: [ <length-percentage> | top | center | bottom ]#

Initial value: 0%

Inherited from
ts
KeywordProps.WebkitMaskPositionY
WebkitMaskRepeat?
ts
optional WebkitMaskRepeat?: WebkitMaskRepeat;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <repeat-style>#

Initial value: repeat

Inherited from
ts
KeywordProps.WebkitMaskRepeat
WebkitMaskRepeatX?
ts
optional WebkitMaskRepeatX?: WebkitMaskRepeatX;

The -webkit-mask-repeat-x property specifies whether and how a mask image is repeated (tiled) horizontally.

Syntax: repeat | no-repeat | space | round

Initial value: repeat

Inherited from
ts
KeywordProps.WebkitMaskRepeatX
WebkitMaskRepeatY?
ts
optional WebkitMaskRepeatY?: WebkitMaskRepeatY;

The -webkit-mask-repeat-y property sets whether and how a mask image is repeated (tiled) vertically.

Syntax: repeat | no-repeat | space | round

Initial value: repeat

Inherited from
ts
KeywordProps.WebkitMaskRepeatY
WebkitMaskSize?
ts
optional WebkitMaskSize?: WebkitMaskSize<0 | DimensionToken>;

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: <bg-size>#

Initial value: auto auto

Inherited from
ts
KeywordProps.WebkitMaskSize
WebkitMaxInlineSize?
ts
optional WebkitMaxInlineSize?: MaxInlineSize<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'max-width'>

Initial value: none

Inherited from
ts
KeywordProps.WebkitMaxInlineSize
WebkitOrder?
ts
optional WebkitOrder?: Order;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <integer>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitOrder
WebkitOverflowScrolling?
ts
optional WebkitOverflowScrolling?: WebkitOverflowScrolling;

Syntax: auto | touch

Initial value: auto

Inherited from
ts
KeywordProps.WebkitOverflowScrolling
WebkitPaddingEnd?
ts
optional WebkitPaddingEnd?: PaddingInlineEnd<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'padding-top'>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitPaddingEnd
WebkitPaddingStart?
ts
optional WebkitPaddingStart?: PaddingInlineStart<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <'padding-top'>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitPaddingStart
WebkitPerspective?
ts
optional WebkitPerspective?: Perspective<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <length>

Initial value: none

Inherited from
ts
KeywordProps.WebkitPerspective
WebkitPerspectiveOrigin?
ts
optional WebkitPerspectiveOrigin?: PerspectiveOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <position>

Initial value: 50% 50%

Inherited from
ts
KeywordProps.WebkitPerspectiveOrigin
WebkitPrintColorAdjust?
ts
optional WebkitPrintColorAdjust?: PrintColorAdjust;

Since May 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: economy | exact

Initial value: economy

Inherited from
ts
KeywordProps.WebkitPrintColorAdjust
WebkitRubyPosition?
ts
optional WebkitRubyPosition?: RubyPosition;

Since December 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: [ alternate || [ over | under ] ] | inter-character

Initial value: alternate

Inherited from
ts
KeywordProps.WebkitRubyPosition
WebkitScrollSnapType?
ts
optional WebkitScrollSnapType?: ScrollSnapType;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2022.

Syntax: none | [ x | y | block | inline | both ] [ mandatory | proximity ]?

Initial value: none

Inherited from
ts
KeywordProps.WebkitScrollSnapType
WebkitShapeMargin?
ts
optional WebkitShapeMargin?: ShapeMargin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <length-percentage>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitShapeMargin
WebkitTapHighlightColor?
ts
optional WebkitTapHighlightColor?: WebkitTapHighlightColor;

-webkit-tap-highlight-color is a non-standard CSS property that sets the color of the highlight that appears over a link while it's being tapped. The highlighting indicates to the user that their tap is being successfully recognized, and indicates which element they're tapping on.

Syntax: <color>

Initial value: black

Inherited from
ts
KeywordProps.WebkitTapHighlightColor
WebkitTextCombine?
ts
optional WebkitTextCombine?: TextCombineUpright;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | all | [ digits <integer>? ]

Initial value: none

Inherited from
ts
KeywordProps.WebkitTextCombine
WebkitTextDecorationColor?
ts
optional WebkitTextDecorationColor?: TextDecorationColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: <color>

Initial value: currentcolor

Inherited from
ts
KeywordProps.WebkitTextDecorationColor
WebkitTextDecorationLine?
ts
optional WebkitTextDecorationLine?: TextDecorationLine;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error

Initial value: none

Inherited from
ts
KeywordProps.WebkitTextDecorationLine
WebkitTextDecorationSkip?
ts
optional WebkitTextDecorationSkip?: TextDecorationSkip;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]

Initial value: objects

Inherited from
ts
KeywordProps.WebkitTextDecorationSkip
WebkitTextDecorationStyle?
ts
optional WebkitTextDecorationStyle?: TextDecorationStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: solid | double | dotted | dashed | wavy

Initial value: solid

Inherited from
ts
KeywordProps.WebkitTextDecorationStyle
WebkitTextEmphasis?
ts
optional WebkitTextEmphasis?: TextEmphasis;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: <'text-emphasis-style'> || <'text-emphasis-color'>

Inherited from
ts
KeywordProps.WebkitTextEmphasis
WebkitTextEmphasisColor?
ts
optional WebkitTextEmphasisColor?: TextEmphasisColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: <color>

Initial value: currentcolor

Inherited from
ts
KeywordProps.WebkitTextEmphasisColor
WebkitTextEmphasisPosition?
ts
optional WebkitTextEmphasisPosition?: TextEmphasisPosition;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: auto | [ over | under ] && [ right | left ]?

Initial value: auto

Inherited from
ts
KeywordProps.WebkitTextEmphasisPosition
WebkitTextEmphasisStyle?
ts
optional WebkitTextEmphasisStyle?: TextEmphasisStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Syntax: none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>

Initial value: none

Inherited from
ts
KeywordProps.WebkitTextEmphasisStyle
WebkitTextFillColor?
ts
optional WebkitTextFillColor?: WebkitTextFillColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

Syntax: <color>

Initial value: currentcolor

Inherited from
ts
KeywordProps.WebkitTextFillColor
WebkitTextOrientation?
ts
optional WebkitTextOrientation?: TextOrientation;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.

Syntax: mixed | upright | sideways

Initial value: mixed

Inherited from
ts
KeywordProps.WebkitTextOrientation
WebkitTextSizeAdjust?
ts
optional WebkitTextSizeAdjust?: TextSizeAdjust;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: none | auto | <percentage>

Initial value: auto for smartphone browsers supporting inflation, none in other cases (and then not modifiable).

Inherited from
ts
KeywordProps.WebkitTextSizeAdjust
WebkitTextStroke?
ts
optional WebkitTextStroke?: WebkitTextStroke<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <length> || <color>

Inherited from
ts
KeywordProps.WebkitTextStroke
WebkitTextStrokeColor?
ts
optional WebkitTextStrokeColor?: WebkitTextStrokeColor;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <color>

Initial value: currentcolor

Inherited from
ts
KeywordProps.WebkitTextStrokeColor
WebkitTextStrokeWidth?
ts
optional WebkitTextStrokeWidth?: WebkitTextStrokeWidth<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.

Syntax: <length>

Initial value: 0

Inherited from
ts
KeywordProps.WebkitTextStrokeWidth
WebkitTextUnderlinePosition?
ts
optional WebkitTextUnderlinePosition?: TextUnderlinePosition;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: auto | from-font | [ under || [ left | right ] ]

Initial value: auto

Inherited from
ts
KeywordProps.WebkitTextUnderlinePosition
WebkitTouchCallout?
ts
optional WebkitTouchCallout?: WebkitTouchCallout;

The -webkit-touch-callout CSS property controls the display of the default callout shown when you touch and hold a touch target.

Syntax: default | none

Initial value: default

Inherited from
ts
KeywordProps.WebkitTouchCallout
WebkitTransform?
ts
optional WebkitTransform?: Transform;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <transform-list>

Initial value: none

Inherited from
ts
KeywordProps.WebkitTransform
WebkitTransformOrigin?
ts
optional WebkitTransformOrigin?: TransformOrigin<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: [ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?

Initial value: 50% 50% 0

Inherited from
ts
KeywordProps.WebkitTransformOrigin
WebkitTransformStyle?
ts
optional WebkitTransformStyle?: TransformStyle;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: flat | preserve-3d

Initial value: flat

Inherited from
ts
KeywordProps.WebkitTransformStyle
WebkitTransition?
ts
optional WebkitTransition?: Transition<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <single-transition>#

Inherited from
ts
KeywordProps.WebkitTransition
WebkitTransitionDelay?
ts
optional WebkitTransitionDelay?: TransitionDelay<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Inherited from
ts
KeywordProps.WebkitTransitionDelay
WebkitTransitionDuration?
ts
optional WebkitTransitionDuration?: TransitionDuration<DurationToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <time>#

Initial value: 0s

Inherited from
ts
KeywordProps.WebkitTransitionDuration
WebkitTransitionProperty?
ts
optional WebkitTransitionProperty?: TransitionProperty;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: none | <single-transition-property>#

Initial value: all

Inherited from
ts
KeywordProps.WebkitTransitionProperty
WebkitTransitionTimingFunction?
ts
optional WebkitTransitionTimingFunction?: TransitionTimingFunction;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Syntax: <easing-function>#

Initial value: ease

Inherited from
ts
KeywordProps.WebkitTransitionTimingFunction
WebkitUserModify?
ts
optional WebkitUserModify?: WebkitUserModify;

Syntax: read-only | read-write | read-write-plaintext-only

Initial value: read-only

Inherited from
ts
KeywordProps.WebkitUserModify
WebkitUserSelect?
ts
optional WebkitUserSelect?: WebkitUserSelect;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: auto | text | none | all

Initial value: auto

Inherited from
ts
KeywordProps.WebkitUserSelect
WebkitWritingMode?
ts
optional WebkitWritingMode?: WritingMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr

Initial value: horizontal-tb

Inherited from
ts
KeywordProps.WebkitWritingMode
whiteSpace?
ts
optional whiteSpace?: WhiteSpace;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'>

Initial value: normal

ChromeFirefoxSafariEdgeIE
111125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/white-space

Inherited from
ts
KeywordProps.whiteSpace
whiteSpaceCollapse?
ts
optional whiteSpaceCollapse?: WhiteSpaceCollapse;

Since March 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: collapse | preserve | preserve-breaks | preserve-spaces | break-spaces

Initial value: collapse

ChromeFirefoxSafariEdgeIE
11412417.4114No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/white-space-collapse

Inherited from
ts
KeywordProps.whiteSpaceCollapse
widows?
ts
optional widows?: Widows;

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Syntax: <integer>

Initial value: 2

ChromeFirefoxSafariEdgeIE
25No1.3128
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/widows

Inherited from
ts
KeywordProps.widows
width?
ts
optional width?: SizeIntrinsic;
Inherited from
ts
TokenMappedProps.width
willChange?
ts
optional willChange?: WillChange;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Syntax: auto | <animateable-feature>#

Initial value: auto

ChromeFirefoxSafariEdgeIE
36369.179No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/will-change

Inherited from
ts
KeywordProps.willChange
wordBreak?
ts
optional wordBreak?: WordBreak;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Syntax: normal | break-all | keep-all | break-word | auto-phrase

Initial value: normal

ChromeFirefoxSafariEdgeIE
1153125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/word-break

Inherited from
ts
KeywordProps.wordBreak
wordSpacing?
ts
optional wordSpacing?: SpacingText;
Inherited from
ts
TokenMappedProps.wordSpacing
wordWrap?
ts
optional wordWrap?: WordWrap;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2018.

Syntax: normal | break-word

Initial value: normal

Inherited from
ts
KeywordProps.wordWrap
writingMode?
ts
optional writingMode?: WritingMode;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Syntax: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr

Initial value: horizontal-tb

ChromeFirefoxSafariEdgeIE
484110.1129
8 -x-5.1 -x-
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/writing-mode

Inherited from
ts
KeywordProps.writingMode
x?
ts
optional x?: X<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: <length> | <percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
4269979No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/x

Inherited from
ts
KeywordProps.x
y?
ts
optional y?: Y<0 | DimensionToken>;

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Syntax: <length> | <percentage>

Initial value: 0

ChromeFirefoxSafariEdgeIE
4269979No
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/y

Inherited from
ts
KeywordProps.y
zIndex?
ts
optional zIndex?: Numeric;
Inherited from
ts
TokenMappedProps.zIndex
zoom?
ts
optional zoom?: Zoom;

Since May 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Syntax: normal | reset | <number [0,∞]> || <percentage [0,∞]>

Initial value: 1

ChromeFirefoxSafariEdgeIE
11263.1125.5
See

https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/zoom

Inherited from
ts
KeywordProps.zoom

ThemeInit

The argument createTheme accepts: a schema tree, the token tree it describes, and any modes.

The members are typed as bare objects on purpose. A const type parameter constrained to an index-signature type widens the literal it was inferred from, which would erase every brand; the shapes are enforced by the schema factories being typed values, by an undeclared leaf resolving to unknown, and by validation at module load.

Properties

modes?
ts
optional modes?: object;
schema
ts
schema: object;
tokens
ts
tokens: object;

ThemeMode

A theme's mode: a condition plus the values it overrides.

Type Parameters

T

T

Properties

media?
ts
optional media?: string;

The media query this mode applies under. Defaults to (prefers-color-scheme: <name>) for the names light and dark, and is required for any other name.

selector?
ts
optional selector?: string;

A selector this mode also applies under, for a user-selectable toggle. An attribute selector outranks the media block on specificity, so an explicit choice beats the OS preference.

tokens
ts
tokens: DeepPartialTokens<T>;

The values this mode overrides. Structure only, never types.


ThemePatch

The argument extend accepts. schema is optional, because a patch that only adds tokens to an existing namespace needs no new entry.

Properties

modes?
ts
optional modes?: object;
schema?
ts
optional schema?: object;
tokens
ts
tokens: object;

ThemeResult

The object createTheme returns: the typed token accessor, the raw resolver, the <Theme /> component, and the two derivation methods.

Type Parameters

T

T

Properties

Theme
ts
readonly Theme: ThemeComponent<T>;

The component that installs the custom properties.

token
ts
readonly token: TokenTree<T>;

A typed mirror of the token tree whose leaves are branded var() reference strings. A s.scale() leaf is callable.

Methods

extend()
ts
extend<schema, tokens>(patch): ThemeResult<Merged<T, {
  schema: schema;
  tokens: tokens;
}>>;

Deep-merges a patch onto this theme and returns a new one. A leaf replaces wholesale; every other node recurses.

The callback form receives this theme's accessor, so a patch can reference what it extends.

Type Parameters
schema

schema extends object

tokens

tokens extends object

Parameters
patch

| ExtendPatch<T, schema, tokens> | ((base) => ExtendPatch<T, schema, tokens>)

The tokens and schema to merge, or a callback returning them

Returns

ThemeResult<Merged<T, { schema: schema; tokens: tokens; }>>

A new theme

Throws

ThemeError when the patch holds no tokens group

raw()
ts
raw(ref): string;

Resolves a token reference to its concrete base value, following references to the end.

Parameters
ref

AnyToken | UntypedToken

A token reference minted by this theme

Returns

string

The serialized base value

Throws

ThemeError when the reference was not minted here

select()
ts
select<P>(projection): ThemeResult<P>;

Replaces this theme with a projection of it. The callback receives this theme's accessor; every value in the projection is a reference into it, and the new path decides the new custom property name, so a projection may also reshape and rename.

Type Parameters
P

P extends ThemeInit

Parameters
projection

(base) => P

A callback returning the schema and tokens to keep

Returns

ThemeResult<P>

A new theme

Throws

ThemeError when the projection holds no tokens group


Tokens

The token tree createTheme accepts: nested records whose leaves are TokenValues. No reserved keys, so it is plain JSON and a designer can diff it.

Indexable

ts
[key: string]: TokenValue | Tokens

TVAConfig

Configuration for tva. Every style slot is ThemedCSSProps, carrying the same brand enforcement as css.

Type Parameters

V

V extends VariantShape

Properties

base?
ts
optional base?: ThemedCSSProps;

Styles applied to every invocation, before any variant.

compoundVariants?
ts
optional compoundVariants?: readonly Selection<V> & object[];

Extra styles applied when every listed variant condition matches, merged after the individual variants in array order.

defaultVariants?
ts
optional defaultVariants?: Selection<V>;

Options used for axes the caller leaves unset. Passing an axis undefined explicitly still falls back to its default.

variants?
ts
optional variants?: V;

The variant axes. Each axis maps option names to styles; name an axis's options true and false to accept a boolean.


TVAFn()

A variant component built by tva. Call it with a variant selection to get a mix-ready descriptor; call resolve for the merged ThemedCSSProps without building a descriptor.

Type Parameters

V

V extends VariantShape

ts
TVAFn<node>(props?): ThemedCSSMixin<node>;

Resolves the selection and returns a mix-ready descriptor. Node-generic like css: MixinDescriptor is invariant in its node, so the element type binds per mix callsite.

Type Parameters

node

node extends Element = Element

Parameters

props?

Selection<V>

Returns

ThemedCSSMixin<node>

Methods

resolve()
ts
resolve(props?): ThemedCSSProps;

Returns the merged style object for a selection without producing a descriptor. combine is built on it.

Parameters
props?

Selection<V>

Returns

ThemedCSSProps

Type Aliases

AnyToken

ts
type AnyToken = BrandByType[TokenType];

The union of all twelve token brands. Brands are compile-time tags naming each token's type; they let css reject a dimension where a color belongs. They exist only in the type system — every ref is a plain string at runtime, so brands cost nothing — and they are theme-independent, so tokens minted by two different createTheme calls mix freely in one css call.


BorderToken

ts
type BorderToken = string & object;

Compile-time brand for a border token.

Type Declaration

[BORDER]
ts
readonly [BORDER]: true;

ClassValue

ts
type ClassValue = 
  | string
  | number
  | null
  | undefined
  | false
  | readonly ClassValue[]
| Record<string, boolean | null | undefined>;

A value cx accepts: a string, a number, a nested array of the same, or a record whose truthy keys are emitted. null, undefined, and false are dropped. Compatible with clsx.


ColorToken

ts
type ColorToken = string & object;

Compile-time brand for a color token.

Type Declaration

[COLOR]
ts
readonly [COLOR]: true;

CubicBezierToken

ts
type CubicBezierToken = string & object;

Compile-time brand for a cubicBezier token.

Type Declaration

[CUBIC_BEZIER]
ts
readonly [CUBIC_BEZIER]: true;

DeepPartialTokens

ts
type DeepPartialTokens<T> = 0 extends 1 & T ? unknown : { [K in keyof T]?: T[K] extends Leaf ? TokenValue : DeepPartialTokens<T[K]> };

The mode-override shape for a token tree: every group optional, every leaf a value. A mode overrides values, never structure or types.

Type Parameters

T

T


DimensionToken

ts
type DimensionToken = string & object;

Compile-time brand for a dimension token.

Type Declaration

[DIMENSION]
ts
readonly [DIMENSION]: true;

DurationToken

ts
type DurationToken = string & object;

Compile-time brand for a duration token.

Type Declaration

[DURATION]
ts
readonly [DURATION]: true;

FontFamilyToken

ts
type FontFamilyToken = string & object;

Compile-time brand for a fontFamily token.

Type Declaration

[FONT_FAMILY]
ts
readonly [FONT_FAMILY]: true;

FontWeightToken

ts
type FontWeightToken = string & object;

Compile-time brand for a fontWeight token.

Type Declaration

[FONT_WEIGHT]
ts
readonly [FONT_WEIGHT]: true;

GradientToken

ts
type GradientToken = string & object;

Compile-time brand for a gradient token.

Type Declaration

[GRADIENT]
ts
readonly [GRADIENT]: true;

NumberToken

ts
type NumberToken = string & object;

Compile-time brand for a number token.

Type Declaration

[NUMBER]
ts
readonly [NUMBER]: true;

ShadowToken

ts
type ShadowToken = string & object;

Compile-time brand for a shadow token.

Type Declaration

[SHADOW]
ts
readonly [SHADOW]: true;

StrokeStyleToken

ts
type StrokeStyleToken = string & object;

Compile-time brand for a strokeStyle token.

Type Declaration

[STROKE_STYLE]
ts
readonly [STROKE_STYLE]: true;

ThemedCSSMixin

ts
type ThemedCSSMixin<node> = MixinDescriptor<node, [RemixCSSProps], ElementProps>;

The descriptor css produces. MixinDescriptor is invariant in its node type, so — exactly like remix/ui's own css factory — the node binds per callsite through the generic parameter.

Type Parameters

node

node extends Element = Element

See

css


ThemeProps

ts
type ThemeProps = object;

Props for the ThemeComponent. nonce sets the nonce attribute on the emitted <style> element for Content Security Policy setups.

Properties

nonce?
ts
optional nonce?: string;

TokenTree

ts
type TokenTree<T> = 0 extends 1 & T ? unknown : T extends object ? TreeOf<Tok, Sch, never> : unknown;

The accessor shape for an init T: the same nesting as its token tree, with every leaf replaced by the branded var(--…) reference its schema declares. Numeric keys index with brackets (t.color.gray[900]).

A leaf whose schema entry is missing resolves to unknown, which is unusable in css(). The compiler also throws for it at module load.

Type Parameters

T

T

See

ThemeResult


TokenType

ts
type TokenType = typeof TOKEN_TYPES[number];

The twelve DTCG token $type values.

See

AnyToken


TokenValue

ts
type TokenValue = number | readonly (number | string)[] | string;

A token value: the CSS it becomes. A string, a number, or an array of either. Anything else is a group.

See

Tokens


TransitionToken

ts
type TransitionToken = string & object;

Compile-time brand for a transition token.

Type Declaration

[TRANSITION]
ts
readonly [TRANSITION]: true;

TVAProps

ts
type TVAProps<F> = F extends TVAFn<infer V> ? Selection<V> : never;

Extracts a tva component's variant props, like cva's VariantProps. All props are optional; wrap the component to require one.

Type Parameters

F

F

Example

ts
export type ButtonProps = TVAProps<typeof button>;
// { intent?: "primary" | "secondary"; size?: "sm" | "md" }

UntypedToken

ts
type UntypedToken = string & object;

Compile-time brand for a token declared with s.any(). It carries no CSS type, so the open-grammar properties (animation, aspectRatio, background) accept it and the token-mapped longhands reject it.

Type Declaration

[UNTYPED]
ts
readonly [UNTYPED]: true;

Functions

combine()

ts
function combine<Fns>(...fns): CombinedTVAFn<Fns>;

Composes tva components, like cva's compose. Each input resolves independently against the shared props, the results deep-merge in argument order, and one css call produces the descriptor. The result accepts the union of the inputs' props and honors each input's own defaults.

Type Parameters

Fns

Fns extends readonly TVAFn<VariantShape>[]

Parameters

fns

...Fns

Returns

CombinedTVAFn<Fns>

See

CombinedTVAFn

Example

tsx
export let pillButton = combine(button, rounded);
<button mix={pillButton({ intent: "primary", pill: true })} />;

createTheme()

Call Signature

ts
function createTheme<schema, tokens>(init): ThemeResult<{
  schema: schema;
  tokens: tokens;
}>;

Compiles a theme from a schema tree and the token tree it describes.

Values are the CSS they become: a color is any CSS color, a dimension is any CSS length, and a composite is the shorthand text. The schema names each token's type, which is what the accessor's compile-time brands are read from and what css() enforces.

A reference to another token is a property access on the layer below, so it needs an ThemeResult.extend layer. The accessor leaf is already a var() string, which keeps its indirection in the emitted CSS so a mode override cascades through it. There is no string syntax for a reference; a leftover "{a.b.c}" raises ThemeError.

All validation and serialization happen eagerly: a malformed theme throws at module load rather than emitting broken CSS. Bad values raise ValidationError from remix/data-schema, carrying one issue per bad token with its path. Structural problems raise ThemeError.

Type Parameters
schema

schema extends object

tokens

tokens extends object

Parameters
init

The schema, tokens, and modes, or a <Theme /> to re-derive from

modes?

Record<string, ThemeMode<tokens>>

schema

schema

tokens

tokens

Returns

ThemeResult<{ schema: schema; tokens: tokens; }>

The ThemeResult

Throws

ThemeError on a structural failure

Throws

ValidationError on one or more invalid values

See

ThemeInit for the accepted shape.

Example
ts
import { createTheme } from "@pitlane/theme";
import * as s from "@pitlane/theme/schema";

export let { token: t, raw, Theme } = createTheme({
    schema: { color: s.color(), spacing: s.scale() },
    tokens: { color: { white: "#fff" }, spacing: "0.25rem" },
}).extend(base => ({
    schema: { color: s.color() },
    tokens: { color: { page: base.color.white } },
}));

t.color.page; // "var(--color-page)"
raw(t.color.page); // "#fff"
t.spacing(4); // "calc(var(--spacing) * 4)"

Call Signature

ts
function createTheme<T>(theme): ThemeResult<T>;

Compiles a theme from a schema tree and the token tree it describes.

Values are the CSS they become: a color is any CSS color, a dimension is any CSS length, and a composite is the shorthand text. The schema names each token's type, which is what the accessor's compile-time brands are read from and what css() enforces.

A reference to another token is a property access on the layer below, so it needs an ThemeResult.extend layer. The accessor leaf is already a var() string, which keeps its indirection in the emitted CSS so a mode override cascades through it. There is no string syntax for a reference; a leftover "{a.b.c}" raises ThemeError.

All validation and serialization happen eagerly: a malformed theme throws at module load rather than emitting broken CSS. Bad values raise ValidationError from remix/data-schema, carrying one issue per bad token with its path. Structural problems raise ThemeError.

Type Parameters
T

T

Parameters
theme

ThemeComponent<T>

Returns

ThemeResult<T>

The ThemeResult

Throws

ThemeError on a structural failure

Throws

ValidationError on one or more invalid values

See

ThemeInit for the accepted shape.

Example
ts
import { createTheme } from "@pitlane/theme";
import * as s from "@pitlane/theme/schema";

export let { token: t, raw, Theme } = createTheme({
    schema: { color: s.color(), spacing: s.scale() },
    tokens: { color: { white: "#fff" }, spacing: "0.25rem" },
}).extend(base => ({
    schema: { color: s.color() },
    tokens: { color: { page: base.color.white } },
}));

t.color.page; // "var(--color-page)"
raw(t.color.page); // "#fff"
t.spacing(4); // "calc(var(--spacing) * 4)"

css()

ts
function css<node>(styles): ThemedCSSMixin<node>;

Brand-enforced wrapper over remix/ui's css() mixin. Token-mapped longhands accept the matching token brand, CSS-wide keywords, property keywords, and 0; anything else — including a raw color: "#ff0000" — is a type error. Every other CSS property carries csstype's value union, so display, position, resize, and the rest of the closed-grammar properties accept only their real keywords. Nested selectors, at-rules, and custom properties recurse.

Branded token refs are already var() strings and pass through; an array value joins with spaces, which is how the box shorthands take a 1–4 tuple. A comma list needs a template string.

css() is node-generic, exactly like remix/ui's own css: the descriptor binds to the element type of the mix position it appears in, so write css({ … }) inline at each element and share ThemedCSSProps objects, never stored descriptors.

Interpolating a token into a template string (`1px solid ${t.color.line}`) yields a plain string, which the open-grammar shorthands accept.

Type Parameters

node

node extends Element = Element

Parameters

styles

ThemedCSSProps

Returns

ThemedCSSMixin<node>

See

Example

tsx
<div
    mix={css({
        color: t.color.bg,
        padding: [t.space.sm, t.space.md],
        margin: 0,
        "&:hover": { color: t.color.gray[900] },
    })}
/>

cx()

ts
function cx(...inputs): string;

clsx-compatible className joiner for interop with plain stylesheets, since mix and className compose on the same element. Strings and numbers join with spaces, falsy values drop, arrays flatten, and truthy object keys join.

Parameters

inputs

...ClassValue[]

Returns

string

See

ClassValue

Example

tsx
<span className={cx("mono", isAlias && "alias-tag")} />;

lightDark()

ts
function lightDark(light, dark): string;

A light-dark() color, resolved by the browser against the color-scheme property. A subtree that sets color-scheme flips whatever the media query says, which is what a theme toggle needs.

Both arguments may be token references, so a mode override of either primitive still reaches the result.

light-dark() is color-only. Use modes for anything else.

Parameters

light

string

The color for a light color-scheme

dark

string

The color for a dark color-scheme

Returns

string

The light-dark() function text

Example

ts
tokens: { surface: { page: lightDark("#ffffff", "#1a1a1a") } }

scale()

ts
function scale<base>(base): (steps) => base;

Turns one token into a multiplier, so a scale does not have to name every step. The returned function produces calc(<base> * <steps>), keeping whichever brand the base carried.

Use this for a token you did not declare as a scale. A token declared with s.scale() is already a multiplier, and its base is t.spacing.token when you need it.

The result is a CSS string like any other, so it also works as an authored token value.

Type Parameters

base

base extends ScalableToken

The token to multiply

Parameters

base

base

Returns

A function from steps to a token of the same type

(steps) => base

Example

ts
import { scale } from "@pitlane/theme";

let step = scale(t.tracking.tight);
css({ letterSpacing: step(2) }); // calc(var(--tracking-tight) * 2)

tva()

ts
function tva<V>(config): TVAFn<V>;

Builds a variant resolver modeled on cva. Where cva composes class strings, tva composes brand-enforced style objects into a mix-ready descriptor.

Each invocation resolves the selection by deep-merging base, then every matching variant in declaration order, then every matching compound variant in array order, and feeds the result to a single css call. defaultVariants fills in unset axes, and boolean axes come from options named true and false.

Type Parameters

V

V extends VariantShape

Parameters

config

TVAConfig<V>

Returns

TVAFn<V>

See

Example

ts
export let button = tva({
    base: { borderRadius: t.radius.md },
    variants: {
        intent: {
            primary: { backgroundColor: t.color.accent },
            secondary: { backgroundColor: "transparent" },
        },
        size: { sm: { fontSize: t.text.sm }, md: { fontSize: t.text.md } },
        block: { true: { display: "flex" } },
    },
    compoundVariants: [
        { intent: "secondary", size: "md", css: { fontSize: t.text.lg } },
    ],
    defaultVariants: { intent: "primary", size: "md" },
});

<button mix={button({ intent: "secondary", block: true })} />;