cssdb logo

What’s next for CSS?

cssdb is a comprehensive list of CSS features and their positions in the process of becoming implemented web standards.

What are the stages?

all Property

A property for defining the reset of all properties of an element

font-variant Property

A property for defining the usage of alternate glyphs in a font

Break Properties

Properties for defining the break behavior between and within boxes

Custom Properties

A syntax for defining custom values accepted by all CSS properties

Gap Properties

Properties for defining gutters within a layout

Grid Layout

A syntax for using a grid concept to lay out content

Media Query Ranges

A syntax for defining media query ranges using ordinary comparison operators

Specification Mozilla Developer Network Documentation Stage 3

@media (width < 480px) {}

@media (480px <= width < 768px) {}

@media (width >= 768px) {}

:blank Empty-Value Pseudo-Class

A pseudo-class for matching form elements when they are empty

Case-Insensitive Attributes

An attribute selector matching attribute values case-insensitively

clamp Function

The clamp() CSS function clamps a value between an upper and lower bound. It enables selecting a middle value within a range of values between a defined minimum and maximum.

color-adjust Property

The color-adjust property is a non-standard CSS extension that can be used to force printing of background colors and images

Specification Mozilla Developer Network Documentation Stage 2

.background {
  background-color:#ccc;
}
.background.color-adjust {
  color-adjust: economy;
}
.background.color-adjust-exact {
  color-adjust: exact;
}
Supported on firefox since version 48 Supported on Firefox for Android since version 95 Supported on kaios since version 2.5

color-contrast() Function

A function for choosing the color that contrasts the most.

Specification Mozilla Developer Network Documentation Stage 2

p {
  color: color-contrast(wheat vs tan, sienna, var(--myAccent), #d2691e);
}
Supported on safari since version 15 Supported on iOS Safari since version 15

Color Functional Notation

A space and slash separated notation for specifying colors

Custom Media Queries

An at-rule for defining aliases that represent media queries

Specification Stage 2

@custom-media --narrow-window (max-width: 30em);

@media (--narrow-window) {}

:dir Directionality Pseudo-Class

A pseudo-class for matching elements based on their directionality

Two values syntax for display

Syntax that allows definition of outer and inner displays types for an element

Specification Mozilla Developer Network Documentation Stage 2

.element {
  display: inline flow-root;
  display: inline flex;
  display: block grid;
}
Supported on firefox since version 70

Double Position Gradients

A syntax for using two positions in a gradient.

fangsong Font Family

A generic font used for Fang Song (仿宋) typefaces in Chinese

:focus-visible Focus-Indicated Pseudo-Class

A pseudo-class for matching focused elements that indicate that focus to a user

:focus-within Focus Container Pseudo-Class

A pseudo-class for matching elements that are either focused or that have focused descendants

:has() Relational Pseudo-Class

A pseudo-class for matching ancestor and sibling elements

Hexadecimal Alpha Notation

A 4 & 8 character hex color notation for specifying the opacity level

hwb() Function

A function for specifying colors by hue and then a degree of whiteness and blackness to mix into it

ic length unit

Equal to the used advance measure of the “水” (CJK water ideograph, U+6C34) glyph found in the font used to render it

image-set() Function

A function for specifying image sources based on the user’s resolution

Specification Mozilla Developer Network Documentation Stage 2

p {
  background-image: image-set(
    "foo.png" 1x,
    "foo-2x.png" 2x,
    "foo-print.png" 600dpi
  );
}

:in-range and :out-of-range Pseudo-Classes

A pseudo-class for matching elements that have range limitations

:is() Matches-Any Pseudo-Class

A pseudo-class for matching elements in a selector list

lab() Function

A function for specifying colors expressed in the CIE Lab color space

lch() Function

A function for specifying colors expressed in the CIE Lab color space with chroma and hue

Logical Properties and Values

Flow-relative (left-to-right or right-to-left) properties and values

:not() Negation List Pseudo-Class

A pseudo-class for ignoring elements in a selector list

Support for percentages for opacity

Syntactic sugar to use percentages instead of a float between 0 and 1.

overflow Shorthand Property

A property for defining overflow-x and overflow-y

overflow-wrap Property

A property for defining whether to insert line breaks within words to prevent overflowing

Place Properties

Properties for defining alignment within a layout

prefers-color-scheme Media Query

A media query to detect if the user has requested the system use a light or dark color theme

prefers-reduced-motion Media Query

A media query to detect if the user has requested less animation and general motion on the page

:read-only and :read-write selectors

Pseudo-classes to match elements which are considered user-alterable

rebeccapurple Color

A particularly lovely shade of purple in memory of Rebecca Alison Meyer

system-ui Font Family

A generic font used to match the user’s interface

When/Else Rules

At-rules for specifying media queries and support queries in a single grammar

Specification Stage 2

@when media(width >= 640px) and (supports(display: flex) or supports(display: grid)) {
  /* A */
} @else media(pointer: coarse) {
  /* B */
} @else {
  /* C */
}

:where() Zero-Specificity Pseudo-Class

A pseudo-class for matching elements in a selector list without contributing specificity

Custom Selectors

An at-rule for defining aliases that represent selectors

Specification Stage 1

@custom-selector :--heading h1, h2, h3, h4, h5, h6;

article :--heading + p {}

Font format() Keywords

A syntax for specifying font format as a keyword in @font-face rule’s format() function

Nesting Rules

A syntax for nesting relative rules within rules

Specification Stage 1

article {
  & p {
    color: #333;
  }
}

overscroll-behavior Property

Properties for controlling when the scroll position of a scroll container reaches the edge of a scrollport

Container Queries

New container property and container at rule to make changes depending on the container’s size

Specification Mozilla Developer Network Documentation Stage 0

.container {
  contain: layout inline-size;
}

@container (min-width: 700px) {
  .container {
    /* styles applied when a container is at least 700px */
  }
}

Custom Environment Variables

A syntax for using custom values accepted by CSS globally