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

W3C Specification Mozilla Developer Network Documentation Stage 4

a {
  all: initial;
}
Supported on edge since version 79 Supported on firefox since version 27 Supported on chrome since version 37 Supported on safari since version 10 Supported on opera since version 24 Supported on iOS Safari since version 9.3 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 4 Supported on QQ Browserr since version 10.4 Supported on baidu since version 7.12 Supported on kaios since version 2.5

font-variant Property

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

W3C Specification Mozilla Developer Network Documentation Stage 4

h2 {
  font-variant: small-caps;
}
Supported on firefox since version 34 Supported on safari since version 10 Supported on iOS Safari since version 9.3 Supported on Firefox for Android since version 96 Supported on kaios since version 2.5

Break Properties

Properties for defining the break behavior between and within boxes

W3C Specification Mozilla Developer Network Documentation Stage 3

a {
  break-inside: avoid;
  break-before: avoid-column;
  break-after: always;
}
Supported on ie since version 10 Supported on edge since version 12 Supported on safari since version 10 Supported on opera since version 12 Supported on iOS Safari since version 10 Supported on op_mini since version all Supported on Opera Mobile since version 12 Supported on ie_mob since version 10 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 5

Custom Properties

A syntax for defining custom values accepted by all CSS properties

W3C Specification Mozilla Developer Network Documentation Stage 3

img {
  --some-length: 32px;

  height: var(--some-length);
  width: var(--some-length);
}
Supported on edge since version 16 Supported on firefox since version 31 Supported on chrome since version 49 Supported on safari since version 10 Supported on opera since version 36 Supported on iOS Safari since version 10 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 5 Supported on kaios since version 2.5

Gap Properties

Properties for defining gutters within a layout

W3C Specification Mozilla Developer Network Documentation Stage 3

.grid-1 {
  gap: 20px;
}

.grid-2 {
  column-gap: 40px;
  row-gap: 20px;
}
Supported on chrome since version 66 Supported on Chrome for Android since version 66 Supported on edge since version 16 Supported on firefox since version 61 Supported on Firefox for Android since version 61 Supported on opera since version 53 Supported on Opera Mobile since version 47 Supported on safari since version 12 Supported on iOS Safari since version 12 Supported on samsung since version 9.0 Supported on android since version 66

Grid Layout

A syntax for using a grid concept to lay out content

W3C Specification Mozilla Developer Network Documentation Stage 3

section {
  display: grid;
  grid-template-columns: 100px 100px 100px;
  grid-gap: 10px;
}
Supported on edge since version 16 Supported on firefox since version 54 Supported on chrome since version 58 Supported on safari since version 11 Supported on opera since version 44 Supported on iOS Safari since version 10.3 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 6.2 Supported on QQ Browserr since version 10.4 Supported on kaios since version 2.5

Media Query Ranges

A syntax for defining media query ranges using ordinary comparison operators

W3C 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

W3C Specification Mozilla Developer Network Documentation Stage 2

input:blank {
  background-color: yellow;
}

Case-Insensitive Attributes

An attribute selector matching attribute values case-insensitively

W3C Specification Mozilla Developer Network Documentation Stage 2

[frame=hsides i] {
  border-style: solid none;
}
Supported on edge since version 79 Supported on firefox since version 47 Supported on chrome since version 49 Supported on safari since version 9 Supported on opera since version 36 Supported on iOS Safari since version 9 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 5 Supported on QQ Browserr since version 10.4 Supported on kaios since version 2.5

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.

W3C Specification Mozilla Developer Network Documentation Stage 2

button {
  font-size: clamp(1rem, 2.5vw, 2rem);
}
Supported on chrome since version 79 Supported on Chrome for Android since version 79 Supported on edge since version 79 Supported on firefox since version 75 Supported on Firefox for Android since version 79 Supported on opera since version 66 Supported on Opera Mobile since version 57 Supported on safari since version 13.1 Supported on iOS Safari since version 13.4 Supported on samsung since version 12.0 Supported on android since version 79

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

W3C 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 96 Supported on kaios since version 2.5

color-contrast() Function

A function for choosing the color that contrasts the most.

W3C 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() Function

A function that allows a color to be specified in a particular, specified color space rather than the implicit sRGB color space that most of the other color functions operate in.

W3C Specification Mozilla Developer Network Documentation Stage 2

p {
  color: color(display-p3 1 0.5 0);
  color: color(display-p3 1 0.5 0 / .5);
}
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

W3C Specification Stage 2

em {
  background-color: hsl(120deg 100% 25%);
  box-shadow: 0 0 0 10px hwb(120deg 100% 25% / 80%);
  color: rgb(0 255 0);
}
Supported on chrome since version 65 Supported on Chrome for Android since version 65 Supported on edge since version 79 Supported on firefox since version 52 Supported on Firefox for Android since version 52 Supported on opera since version 52 Supported on Opera Mobile since version 47 Supported on safari since version 12.1 Supported on iOS Safari since version 12.2 Supported on samsung since version 9.0 Supported on android since version 65

Custom Media Queries

An at-rule for defining aliases that represent media queries

W3C 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

W3C Specification Mozilla Developer Network Documentation Stage 2

blockquote:dir(rtl) {
  margin-right: 10px;
}

blockquote:dir(ltr) {
  margin-left: 10px;
}
Supported on firefox since version 49 Supported on Firefox for Android since version 49

Two values syntax for display

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

W3C 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.

W3C Specification Stage 2

.pie_chart {
  background-image: conic-gradient(yellowgreen 40%, gold 0deg 75%, #f06 0deg);
}
Supported on chrome since version 72 Supported on Chrome for Android since version 72 Supported on edge since version 79 Supported on firefox since version 83 Supported on Firefox for Android since version 83 Supported on opera since version 60 Supported on Opera Mobile since version 51 Supported on safari since version 12.1 Supported on iOS Safari since version 12.2 Supported on samsung since version 11.0 Supported on android since version 72

fangsong Font Family

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

W3C Specification Mozilla Developer Network Documentation Stage 2

body {
  font-family: fangsong;
}

:focus-visible Focus-Indicated Pseudo-Class

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

W3C Specification Mozilla Developer Network Documentation Stage 2

:focus:not(:focus-visible) {
  outline: 0;
}
Supported on chrome since version 67 Supported on Chrome for Android since version 67 Supported on edge since version 79 Supported on firefox since version 85 Supported on Firefox for Android since version 85 Supported on opera since version 54 Supported on Opera Mobile since version 48 Supported on samsung since version 14.0 Supported on android since version 86

:focus-within Focus Container Pseudo-Class

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

W3C Specification Mozilla Developer Network Documentation Stage 2

form:focus-within {
  background: rgba(0, 0, 0, 0.3);
}
Supported on edge since version 79 Supported on firefox since version 52 Supported on chrome since version 60 Supported on safari since version 11 Supported on opera since version 47 Supported on iOS Safari since version 10.3 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 8.2 Supported on QQ Browserr since version 10.4

:has() Relational Pseudo-Class

A pseudo-class for matching ancestor and sibling elements

W3C Specification Mozilla Developer Network Documentation Stage 2

a:has(> img) {
  display: block;
}
Supported on safari since version 15.4 Supported on iOS Safari since version 15.4

Hexadecimal Alpha Notation

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

W3C Specification Mozilla Developer Network Documentation Stage 2

section {
  background-color: #f3f3f3f3;
  color: #0003;
}
Supported on edge since version 79 Supported on firefox since version 49 Supported on chrome since version 62 Supported on safari since version 10 Supported on opera since version 52 Supported on iOS Safari since version 10 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 8.2

hwb() Function

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

W3C Specification Mozilla Developer Network Documentation Stage 2

p {
  color: hwb(120 44% 50%);
}
Supported on firefox since version 96 Supported on Firefox for Android since version 96 Supported on safari since version 15 Supported on iOS Safari since version 15

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

W3C Specification Mozilla Developer Network Documentation Stage 2

p {
  text-indent: 2ic;
}
Supported on firefox since version 97 Supported on Firefox for Android since version 97 Supported on safari since version 15.4 Supported on iOS Safari since version 15.4

image-set() Function

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

W3C 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

W3C Specification Mozilla Developer Network Documentation Stage 2

input:in-range {
  background-color: rgba(0, 255, 0, 0.25);
}
input:out-of-range {
  background-color: rgba(255, 0, 0, 0.25);
  border: 2px solid red;
}
Supported on edge since version 79 Supported on firefox since version 50 Supported on chrome since version 53 Supported on safari since version 11 Supported on opera since version 40 Supported on iOS Safari since version 10.3 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 5 Supported on QQ Browserr since version 10.4 Supported on baidu since version 7.12

:is() Matches-Any Pseudo-Class

A pseudo-class for matching elements in a selector list

W3C Specification Mozilla Developer Network Documentation Stage 2

p:is(:first-child, .special) {
  margin-top: 1em;
}
Supported on edge since version 88 Supported on firefox since version 78 Supported on chrome since version 88 Supported on safari since version 14 Supported on opera since version 75 Supported on iOS Safari since version 14 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 15

lab() Function

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

W3C Specification Mozilla Developer Network Documentation Stage 2

body {
  color: lab(240 50 20);
}
Supported on safari since version 15 Supported on iOS Safari since version 15

lch() Function

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

W3C Specification Mozilla Developer Network Documentation Stage 2

body {
  color: lch(53 105 40);
}
Supported on safari since version 15 Supported on iOS Safari since version 15

Logical Properties and Values

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

W3C Specification Mozilla Developer Network Documentation Stage 2

span:first-child {
  float: inline-start;
  margin-inline-start: 10px;
}
Supported on edge since version 89 Supported on firefox since version 66 Supported on chrome since version 89 Supported on safari since version 15 Supported on opera since version 76 Supported on iOS Safari since version 15 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 15

:not() Negation List Pseudo-Class

A pseudo-class for ignoring elements in a selector list

W3C Specification Mozilla Developer Network Documentation Stage 2

p:not(:first-child, .special) {
  margin-top: 1em;
}
Supported on edge since version 88 Supported on firefox since version 84 Supported on chrome since version 88 Supported on safari since version 9 Supported on opera since version 75 Supported on iOS Safari since version 9 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 15

Support for percentages for opacity

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

W3C Specification Mozilla Developer Network Documentation Stage 2

img {
  opacity: 90%;
}
Supported on chrome since version 78 Supported on Chrome for Android since version 78 Supported on edge since version 79 Supported on firefox since version 70 Supported on samsung since version 12.0 Supported on android since version 78

overflow Shorthand Property

A property for defining overflow-x and overflow-y

W3C Specification Mozilla Developer Network Documentation Stage 2

html {
  overflow: hidden auto;
}
Supported on chrome since version 68 Supported on Chrome for Android since version 68 Supported on edge since version 79 Supported on firefox since version 61 Supported on Firefox for Android since version 61 Supported on opera since version 55 Supported on Opera Mobile since version 48 Supported on samsung since version 10.0 Supported on android since version 68

overflow-wrap Property

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

W3C Specification Mozilla Developer Network Documentation Stage 2

p {
  overflow-wrap: break-word;
}
Supported on edge since version 18 Supported on firefox since version 49 Supported on chrome since version 23 Supported on safari since version 7 Supported on opera since version 15 Supported on iOS Safari since version 8 Supported on android since version 97 Supported on bb since version 10 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 4 Supported on QQ Browserr since version 10.4 Supported on baidu since version 7.12

Place Properties

Properties for defining alignment within a layout

W3C Specification Mozilla Developer Network Documentation Stage 2

.example {
  place-content: flex-end;
  place-items: center / space-between;
  place-self: flex-start / center;
}
Supported on chrome since version 59 Supported on Chrome for Android since version 59 Supported on edge since version 79 Supported on firefox since version 53 Supported on Firefox for Android since version 53 Supported on opera since version 46 Supported on Opera Mobile since version 43 Supported on safari since version 11 Supported on iOS Safari since version 11 Supported on samsung since version 7.0 Supported on android since version 59

prefers-color-scheme Media Query

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

W3C Specification Mozilla Developer Network Documentation Stage 2

body {
  background-color: white;
  color: black;
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: black;
    color: white;
  }
}
Supported on edge since version 79 Supported on firefox since version 67 Supported on chrome since version 76 Supported on safari since version 13 Supported on opera since version 62 Supported on iOS Safari since version 13 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 12

prefers-reduced-motion Media Query

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

W3C Specification Mozilla Developer Network Documentation Stage 2

.animation {
  animation: vibrate 0.3s linear infinite both; 
}

@media (prefers-reduced-motion: reduce) {
  .animation {
    animation: none;
  }
}
Supported on edge since version 79 Supported on firefox since version 63 Supported on chrome since version 74 Supported on safari since version 11 Supported on opera since version 64 Supported on iOS Safari since version 10.3 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 11.1

:read-only and :read-write selectors

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

W3C Specification Mozilla Developer Network Documentation Stage 2

input:read-only {
  background-color: #ccc;
}
Supported on edge since version 13 Supported on firefox since version 78 Supported on chrome since version 36 Supported on safari since version 9 Supported on opera since version 23 Supported on iOS Safari since version 9 Supported on android since version 97 Supported on bb since version 10 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 4 Supported on QQ Browserr since version 10.4 Supported on baidu since version 7.12

rebeccapurple Color

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

W3C Specification Mozilla Developer Network Documentation Stage 2

html {
  color: rebeccapurple;
}
Supported on edge since version 12 Supported on firefox since version 33 Supported on chrome since version 38 Supported on safari since version 7 Supported on opera since version 25 Supported on iOS Safari since version 8 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 4 Supported on QQ Browserr since version 10.4 Supported on baidu since version 7.12 Supported on kaios since version 2.5

system-ui Font Family

A generic font used to match the user’s interface

W3C Specification Mozilla Developer Network Documentation Stage 2

body {
  font-family: system-ui;
}
Supported on edge since version 79 Supported on firefox since version 92 Supported on chrome since version 56 Supported on safari since version 11 Supported on opera since version 43 Supported on iOS Safari since version 11 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on UC Mobile for Android since version 12.12 Supported on samsung since version 6.2 Supported on QQ Browserr since version 10.4

When/Else Rules

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

W3C 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

W3C Specification Mozilla Developer Network Documentation Stage 2

a:where(:not(:hover)) {
  text-decoration: none;
}
Supported on chrome since version 88 Supported on Chrome for Android since version 88 Supported on edge since version 88 Supported on firefox since version 82 Supported on Firefox for Android since version 82 Supported on opera since version 74 Supported on Opera Mobile since version 63 Supported on samsung since version 15.0 Supported on android since version 88

Custom Selectors

An at-rule for defining aliases that represent selectors

W3C 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

W3C Specification Mozilla Developer Network Documentation Stage 1

@font-face {
  src: url(file.woff2) format(woff2);
}
Supported on safari since version 4 Supported on iOS Safari since version 5

Nesting Rules

A syntax for nesting relative rules within rules

W3C 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

W3C Specification Mozilla Developer Network Documentation Stage 1

.messages {
  height: 220px;
  overflow: auto;
  overscroll-behavior-y: contain;
}

body {
  margin: 0;
  overscroll-behavior: none;
}
Supported on edge since version 79 Supported on firefox since version 59 Supported on chrome since version 65 Supported on opera since version 52 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 8.2 Supported on QQ Browserr since version 10.4

Container Queries

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

W3C 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

W3C Specification Mozilla Developer Network Documentation Stage 0

@media (max-width: env(--brand-small)) {
  body {
    padding: env(--brand-spacing);
  }
}
Supported on edge since version 79 Supported on firefox since version 65 Supported on chrome since version 69 Supported on safari since version 12 Supported on opera since version 56 Supported on iOS Safari since version 11.3 Supported on android since version 97 Supported on Opera Mobile since version 64 Supported on Chrome for Android since version 97 Supported on Firefox for Android since version 96 Supported on samsung since version 10.1