@functionDefines custom functions that take arguments and return a CSS value.
Hints to the browser to proactively download pages in the background so they appear instantly when the user navigates to them.
document.parseHTML() and element.setHTML()Customizes the sanitization of HTML inserted into the DOM, to prevent cross-site scripting attacks.
Helps chunk up main-thread work relative to other tasks.
if() functionAn inline conditional value that returns a value based on a set of conditions.
scroll(), scrollTo(), scrollBy(), and scrollIntoView() return promises that resolve when scrolling completes.
Native end-to-end encryption in WebRTC, without exposing keys to JavaScript.
element.startViewTransition() starts a view transition that only affects that element's subtree, allowing multiple transitions to run concurrently.
Ensures input has been passed through a transformation function before being passed to an API that might execute that input.
align-content for centering in buttons and inputsAllows overriding the vertical alignment of text in form controls.
103 Early Hints preloadingBrowsers start preconnecting and preloading resources while the server is still generating the page, with consistent resource timing entries.
random() functionChooses a random numeric value within a specified range.
PerformanceLongAnimationFrameTiming entries in the Performance APIProvides information about rendering updates that take longer than 50 milliseconds.
Anchor-positioned elements track transforms on their anchors, and changes to the calculated anchor() triggers transitions.
Such as beforeHTML(), appendHTML(), and replaceWithHTML(), which insert sanitized HTML into an existing tree.
OpaqueRange for form controlsA live range of text within <textarea> and <input>, for things like custom highlights and positioning popovers next to text.
display and content-visibilityUseful for delaying display: none until an exit animation completes.
SVG filters, context-fill/context-stroke, <use> without a fragment, and path data APIs.
requestFullscreen()Allows fullscreen pages, such as games, to prevent the Escape key from exiting fullscreen, and to handle other reserved shortcuts.
moveBefore()Relocates a node while preserving its state like focus, animation, or move an iframe without reloading its content.
var() in size container queriesSuch as @container (width >= var(--min-width)).
MediaStreamTrackProcessor and VideoTrackGenerator APIsSimplifies real-time processing of video streams.
Consistent navigation timing and resource timing entries for cross-origin redirects.
Displays a preview version of the image while the rest downloads.
reading-flow and reading-order propertiesSets the order in which flex or grid elements are rendered to speech or reached via focus navigation.
The Profiler API records data about the execution of a page, which you can send to a server for later analysis.
random-item() functionPicks a random item from a list of values.
LayoutShift entries in the Performance APIMeasures the layout stability of web pages based on movements of the elements on the page. Used to calculate cumulative layout shift (CLS).
flex-wrap: balanceDistributes items in a multi-line flex container so each line has about the same number of items.
@supports at-rule()Checks if a CSS at-rule is supported.
inherit() functionLike var(), but uses the parent element's value of the custom property.
Some browsers discard history.state after cross-document navigations, but keep it for same-document navigations.
line-clamp propertyLimits the text in a block container to a certain number of lines. Also allows custom end text if content overflow occurs.
import … with { type: "css" } to load CSS resources as constructable stylesheets.
TemporalA modern and extensive date/time API to replace Date.
column-rule and row-rule display decorative lines between columns and rows of a flex, grid, or multi-column layout.