display-mode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Thedisplay-modeCSSmedia feature can be used to test whether a web app is being displayed in a normal browser tab or in some alternative way, such as a standalone app or fullscreen mode.
For example:
Aprogressive web appcan set its display mode by setting the
displaymember in its manifest. In this case, the value ofdisplay-modeidentifies the value that was set (but note that this may not be the same as the value requested in the manifest, since a browser may not support the requested mode).Any web app can use theFullscreen API or theDocument Picture-in-Picture API to set the display mode, and in this case the value of
display-modeidentifies the mode that was set.
Thedisplay-mode value applies to the top-level browsing context and any child browsing contexts.
In this article
Syntax
Thedisplay-mode feature is specified as a keyword value chosen from the list below.
browserThe application opens in a conventional browser tab or new window, depending on the browser and platform.
fullscreenAll of the available display area is used and no user agentchrome is shown. This can be used to apply CSS only when the app has been put in fullscreen mode by theFullscreen API or by using the
fullscreenvalue of thedisplaymember of the Wep App Manifest.minimal-uiThe application will look and feel like a standalone application, but will have a minimal set of UI elements for controlling navigation. The elements will vary by browser.
picture-in-pictureThis mode allows users to continue consuming specific content while they interact with other sites or applications on their device. The app is displayed in a floating and always-on-top window. This can be used to apply CSS only when the app has been put in Picture-in-Picture mode by theDocument Picture-in-Picture API.
standaloneThe application will look and feel like a standalone application. This can include the application having a different window, its own icon in the application launcher, etc. In this mode, the user agent will exclude UI elements for controlling navigation, but can include other UI elements such as a status bar.
window-controls-overlayIn this mode, the application looks and feels like a standalone desktop application, and theWindow Controls Overlay feature is enabled.
Examples
>Apply CSS if the application is in fullscreen mode
@media (display-mode: fullscreen) { body { margin: 0; border: 5px solid black; }}Provide a light and dark color scheme to Picture-in-Picture content
In this example, we combine thedisplay-mode: picture-in-picture value with theprefers-color-scheme media feature to create light and dark color schemes that are applied based on the user's color scheme preference, only when the app is being shown in Picture-in-Picture mode.
@media (display-mode: picture-in-picture) and (prefers-color-scheme: light) { body { background: antiquewhite; }}@media (display-mode: picture-in-picture) and (prefers-color-scheme: dark) { body { background: #333333; } a { color: antiquewhite; }}SeeUsing the Document Picture-in-Picture API for more information and a full example.
Specifications
| Specification |
|---|
| Media Queries Level 5> # display-modes> |