Allows passing custom properties into external SVG resources, such as colors.
headingoffset and headingreset attributesOffsets the heading level of descendant <h1>–<h6> elements. Includes the CSS :heading() pseudo-class.
<select>Customize the button, selected option, picker, and options with CSS.
display: grid-lanes creates a layout where items are tightly packed into parallel lanes.
share_targetAllows an installed web app to appear in the device's share dialog as a target for shared content.
line-clamp propertyLimits the text in a block container to a certain number of lines. Also allows custom end text if content overflow occurs.
border-shape propertySets the geometry of the border box to a fully custom shape, changing the shape of borders, outlines, and shadows.
<install> and navigator.install()Prompts the user to install a progressive web app.
OpaqueRange for form controlsA live range of text within <textarea> and <input>, for things like custom highlights and positioning popovers next to text.
TemporalA modern and extensive date/time API to replace Date.
flex-wrap: balanceDistributes items in a multi-line flex container so each line has about the same number of items.
display and content-visibilityUseful for delaying display: none until an exit animation completes.
focusgroup attributeCombines descendant elements into a single tab stop, with arrow-key navigation between them.
filter(image, ...filters)Takes an image and a filter, and returns a new image.
Hints to the browser to proactively download pages in the background so they appear instantly when the user navigates to them.
align-content for centering in buttons and inputsAllows overriding the vertical alignment of text in form controls.
@functionDefines custom functions that take arguments and return a CSS value.
document.parseHTML() and element.setHTML()Customizes the sanitization of HTML inserted into the DOM, to prevent cross-site scripting attacks.
import … with { type: "css" } to load CSS resources as constructable stylesheets.
scroll-snap-type: pairSnap to the same element in both axes.
Displays out-of-gamut colors (such as from oklch()) closer to the intended color, rather than clipping RGB channels.
requestIdleCallbackQueues a function that runs in idle browser time, either at the end of a frame or when the user is inactive.
timeline-trigger and animation-trigger play, pause, or reverse animations when the user scrolls to a particular point.
polygon() vertex roundingSuch as polygon(round 20px, …) to round the corners of a polygon.
scrollsnapchanging and scrollsnapchange events fire when a scroll gesture changes the selected scroll snap target.
Exposes USB-compatible devices to web pages.
The @container scroll-state(...) at-rule applies styles based on the sticky positioning, snapped, and scrollable state of the container.