December 2023 web platform update
Newly available on the web platform
Newly available
-
background-clip: text: The
background-clip: text
CSS declaration draws the background underneath only the text in the element. Learn more. -
Canvas reset(): The
reset()
method clears a canvas to its initial state. Learn more. -
cap unit: The CSS
cap
unit corresponds to the height of Latin capital letters. Learn more. -
counter-set: The
counter-set
CSS property creates (and optionally sets a value for) a counter, the numbers for a series of headings or ordered list items. Learn more. -
:dir(): The
:dir()
CSS functional pseudo-class matches elements by text direction, either right to left (rtl
) or left to right (ltr
). Learn more. -
pow(), sqrt(), hypot(), log(), and exp(): The
pow()
,sqrt()
,hypot()
,log()
, andexp()
CSS functions compute various exponential functions. Learn more. -
:has(): The
:has()
CSS functional pseudo-class matches an element if any of the selectors passed as parameters would match at least one element. Learn more. -
linear() easing: The
linear()
easing function for animations and transitions interpolates linearly between the control points, and can be used to approximate complex easing functions, such as a bounce effect. Learn more. -
Lazy-loading images and iframes: The
loading="lazy"
attribute for<img>
and<iframe>
elements blocks loading the external resource until the user scrolls to that element's part of the page. Learn more. -
Masks: The
mask
CSS property (and several longhand properties) partially or completely hides an element according to the shape and depth of an image. Learn more. -
Nesting: CSS nesting allows for shorter selectors, easier reading, and more modularity by nesting rules inside others. Learn more.
-
Preloading responsive images: The
imagesrcset
andimagesizes
attributes with therel="preload"
attribute for the<link>
HTML element starts fetching responsive images before they're found in the body of the document. Learn more. -
preservesPitch: The
preservesPitch
property for<audio>
or<video>
adjusts the pitch of audio to sound more natural when the playback rate is faster or slower than the default. Learn more. -
Storage access: The
document.requestStorageAccess()
method allows content in iframes to request storing and reading cookies and other site data, while thedocument.hasStorageAccess()
method checks if such access is granted. Learn more. -
URL.canParse(): The
URL.canParse()
static method checks whether a URL can be parsed into a validURL
object. It's an alternative to callingnew URL()
in atry…catch
statement. Learn more.
Now available in Chrome
Limited availability
-
Mutually exclusive <details> elements: Multiple
<details>
elements which use the samename
attribute are mutually exclusive. When one member of the group is opened, all other members are closed. Learn more.
Now available in Chrome Android
Limited availability
-
Mutually exclusive <details> elements: Multiple
<details>
elements which use the samename
attribute are mutually exclusive. When one member of the group is opened, all other members are closed. Learn more.
Now available in Edge
Limited availability
-
Mutually exclusive <details> elements: Multiple
<details>
elements which use the samename
attribute are mutually exclusive. When one member of the group is opened, all other members are closed. Learn more.
Now available in Firefox
Limited availability
-
Promise.withResolvers(): The
Promise.withResolvers()
static method is an alternative to thePromise()
constructor that returns both the promise and resolution functions. You can use this to accessresolve
andreject
outside the scope of the executor function. Learn more. -
text-wrap: balance: The
text-wrap: balance
CSS declaration balances the length of each line when text is broken into multiple lines. Also known as headline balancing. Learn more.
Now available in Firefox for Android
Limited availability
-
Promise.withResolvers(): The
Promise.withResolvers()
static method is an alternative to thePromise()
constructor that returns both the promise and resolution functions. You can use this to accessresolve
andreject
outside the scope of the executor function. Learn more. -
text-wrap: balance: The
text-wrap: balance
CSS declaration balances the length of each line when text is broken into multiple lines. Also known as headline balancing. Learn more.
Now available in Safari
Limited availability
-
Mutually exclusive <details> elements: Multiple
<details>
elements which use the samename
attribute are mutually exclusive. When one member of the group is opened, all other members are closed. Learn more. -
Fetch priority: The
fetch()
priority
option and thefetchPriority
HTML attribute give hints to the browser about which requests to do before other requests of the same type. Learn more. -
Custom highlights: Custom highlights style arbitrary text ranges, without adding extra elements to the DOM. Learn more.
-
JSON import attributes: Module
import ... with { type: "json" }
statements load JSON data. Also known as JSON module scripts and formerly known as import assertions. Learn more.
Now available in Safari on iOS
Limited availability
-
Mutually exclusive <details> elements: Multiple
<details>
elements which use the samename
attribute are mutually exclusive. When one member of the group is opened, all other members are closed. Learn more. -
Fetch priority: The
fetch()
priority
option and thefetchPriority
HTML attribute give hints to the browser about which requests to do before other requests of the same type. Learn more. -
Custom highlights: Custom highlights style arbitrary text ranges, without adding extra elements to the DOM. Learn more.
-
JSON import attributes: Module
import ... with { type: "json" }
statements load JSON data. Also known as JSON module scripts and formerly known as import assertions. Learn more.