transition-timing-function

Class Description

ease

Sets custom timing function via --ease. E.g. cubic-bezier(0.4, 0, 0.2, 1).

CSS Rules

.ease {
  transition-timing-function: var(--ease);
}

Usage

The .ease class is flagged as a value-driven selector. The variable --ease is required.
<element class="ease" style="--ease: /* value */;" />

Responsive

Prefix .ease utility with a breakpoint variant (e.g., md:) to apply styles at specific screen sizes (Supported breakpoints are xm through 2xl).

<element class="md:ease" style="--md-ease: /* value */;" />

States

States are generated dynamically at runtime and always come last. Append a state like :hover or :focus to the end of the class. This works in conjunction with breakpoints .

Supported pseudo-classes: :hover, :active, :focus, :focus-visible, :focus-within, :target, :checked, :disabled, and :group-hover.

<element class="ease:hover" style="--ease-hover: /* value */;" />

Group Hover Example

The :group-hover state applies styles when a parent element with the .group class is hovered.

<element class="group">
  <element class="ease:group-hover">...</element>
</element>

Pseudo-Elements

The ::before and ::after utility classes are supported too. Granted that you add the mandatory content-before or content-after class in order for them to work.

<element class="content-before ease::before" style="--ease-before: /* value */;" />

<element class="content-after ease::after" style="--ease-after: /* value */;" />

Shorthand

Value-driven classes support a shorthand syntax like bg=pink or p=4. The runtime processes this for you. Unlike :hover that is generating CSS on the fly, shorthand only splits it and appends the corresponding style.

<!-- Input -->
<element class="ease=value" />

<!-- Output -->
<element class="ease" style="--ease: value;" />

CLS Alert

This feature may cause CLS (Cumulative Layout Shift). Make sure to include a z-not-ready class in your <head> tag.

.ease Sets custom timing function via --ease. E.g. cubic-bezier(0.4, 0, 0.2, 1).

ease-linear

Sets transition-timing-function: linear. Constant speed throughout.

CSS Rules

.ease-linear {
  transition-timing-function: linear;
}

Usage

<element class="ease-linear" />

Responsive

Prefix .ease-linear utility with a breakpoint variant (e.g., md:) to apply styles at specific screen sizes (Supported breakpoints are xm through 2xl).

<element class="md:ease-linear" />

States

States are generated dynamically at runtime and always come last. Append a state like :hover or :focus to the end of the class. This works in conjunction with breakpoints .

Supported pseudo-classes: :hover, :active, :focus, :focus-visible, :focus-within, :target, :checked, :disabled, and :group-hover.

<element class="ease-linear:hover" />

Group Hover Example

The :group-hover state applies styles when a parent element with the .group class is hovered.

<element class="group">
  <element class="ease-linear:group-hover">...</element>
</element>

Pseudo-Elements

The ::before and ::after utility classes are supported too. Granted that you add the mandatory content-before or content-after class in order for them to work.

<element class="content-before ease-linear::before" />

<element class="content-after ease-linear::after" />
.ease-linear Sets transition-timing-function: linear. Constant speed throughout.

ease-in

Sets transition-timing-function to ease-in. Starts slow, ends fast.

CSS Rules

.ease-in {
  transition-timing-function: var(--ease-in);
}

Usage

<element class="ease-in" />

Responsive

Prefix .ease-in utility with a breakpoint variant (e.g., md:) to apply styles at specific screen sizes (Supported breakpoints are xm through 2xl).

<element class="md:ease-in" />

States

States are generated dynamically at runtime and always come last. Append a state like :hover or :focus to the end of the class. This works in conjunction with breakpoints .

Supported pseudo-classes: :hover, :active, :focus, :focus-visible, :focus-within, :target, :checked, :disabled, and :group-hover.

<element class="ease-in:hover" />

Group Hover Example

The :group-hover state applies styles when a parent element with the .group class is hovered.

<element class="group">
  <element class="ease-in:group-hover">...</element>
</element>

Pseudo-Elements

The ::before and ::after utility classes are supported too. Granted that you add the mandatory content-before or content-after class in order for them to work.

<element class="content-before ease-in::before" />

<element class="content-after ease-in::after" />
.ease-in Sets transition-timing-function to ease-in. Starts slow, ends fast.

ease-out

Sets transition-timing-function to ease-out. Starts fast, ends slow.

CSS Rules

.ease-out {
  transition-timing-function: var(--ease-out);
}

Usage

<element class="ease-out" />

Responsive

Prefix .ease-out utility with a breakpoint variant (e.g., md:) to apply styles at specific screen sizes (Supported breakpoints are xm through 2xl).

<element class="md:ease-out" />

States

States are generated dynamically at runtime and always come last. Append a state like :hover or :focus to the end of the class. This works in conjunction with breakpoints .

Supported pseudo-classes: :hover, :active, :focus, :focus-visible, :focus-within, :target, :checked, :disabled, and :group-hover.

<element class="ease-out:hover" />

Group Hover Example

The :group-hover state applies styles when a parent element with the .group class is hovered.

<element class="group">
  <element class="ease-out:group-hover">...</element>
</element>

Pseudo-Elements

The ::before and ::after utility classes are supported too. Granted that you add the mandatory content-before or content-after class in order for them to work.

<element class="content-before ease-out::before" />

<element class="content-after ease-out::after" />
.ease-out Sets transition-timing-function to ease-out. Starts fast, ends slow.

ease-in-out

Sets transition-timing-function to ease-in-out. Slow at both ends.

CSS Rules

.ease-in-out {
  transition-timing-function: var(--ease-in-out);
}

Usage

<element class="ease-in-out" />

Responsive

Prefix .ease-in-out utility with a breakpoint variant (e.g., md:) to apply styles at specific screen sizes (Supported breakpoints are xm through 2xl).

<element class="md:ease-in-out" />

States

States are generated dynamically at runtime and always come last. Append a state like :hover or :focus to the end of the class. This works in conjunction with breakpoints .

Supported pseudo-classes: :hover, :active, :focus, :focus-visible, :focus-within, :target, :checked, :disabled, and :group-hover.

<element class="ease-in-out:hover" />

Group Hover Example

The :group-hover state applies styles when a parent element with the .group class is hovered.

<element class="group">
  <element class="ease-in-out:group-hover">...</element>
</element>

Pseudo-Elements

The ::before and ::after utility classes are supported too. Granted that you add the mandatory content-before or content-after class in order for them to work.

<element class="content-before ease-in-out::before" />

<element class="content-after ease-in-out::after" />
.ease-in-out Sets transition-timing-function to ease-in-out. Slow at both ends.

ease-initial

Resets transition-timing-function to its initial CSS value.

CSS Rules

.ease-initial {
  transition-timing-function: initial;
}

Usage

<element class="ease-initial" />

Responsive

Prefix .ease-initial utility with a breakpoint variant (e.g., md:) to apply styles at specific screen sizes (Supported breakpoints are xm through 2xl).

<element class="md:ease-initial" />

States

States are generated dynamically at runtime and always come last. Append a state like :hover or :focus to the end of the class. This works in conjunction with breakpoints .

Supported pseudo-classes: :hover, :active, :focus, :focus-visible, :focus-within, :target, :checked, :disabled, and :group-hover.

<element class="ease-initial:hover" />

Group Hover Example

The :group-hover state applies styles when a parent element with the .group class is hovered.

<element class="group">
  <element class="ease-initial:group-hover">...</element>
</element>

Pseudo-Elements

The ::before and ::after utility classes are supported too. Granted that you add the mandatory content-before or content-after class in order for them to work.

<element class="content-before ease-initial::before" />

<element class="content-after ease-initial::after" />
.ease-initial Resets transition-timing-function to its initial CSS value.