CSS - Pseudo-class :fullscreen



The CSS pseudo-class selector :fullscreen targets and styles an element that is being displayed in fullscreen mode. If more than one element is set in fullscreen mode, this pseudo-class selects all of them.

Typically this pseudo-class is used with the ::backdrop pseudo-element to style the backdrop behind the full-screen element.

The pseudo-class :fullscreen lets one configure the stylesheets to automatically adjust the layout, style or size of the content when the elements are toggled back and forth between fullscreen and normal modes.

Select all elements in the fullscreen stack is supported only on Firefox browser.

Syntax

:fullscreen {
   /* ... */ 
}

CSS :fullscreen Example

Following example demonstrates use of :fullscreen pseudo-class. In this example:

  • A div by the name sample-div is styled, with lightgrey color.

  • The p element on this div is set to be invisible.

  • A button is added through javascript and is identifed using the id=sample.

  • As the button is clicked the :fullscreen pseudo-class is applied on the div and p element, which thus makes it appear fullscreen with lightsalmon in color and the text of p> element is visible on the screen.

  • Press Esc key to go back.

<html>
<head>
<style>
   .sample-div {
      padding: 10px;
      height: 200px;
      width: 95%;
      background-color: lightgrey;
   }
   .sample-div p {
      visibility: hidden;
      position: absolute;
      top: 40%;
      width: 100%;
      text-align: center;
      font-size: 1.5em;
      color: black;
   }
   .sample-div:fullscreen {
      background-color: lightsalmon;
      width: 100vw;
      height: 100vh;
   }
   .sample-div:fullscreen p {
      visibility: visible;
   }
</style>
</head>
<body>
   <h2>:fullscreen example</h2>
   <div> 
      <div class="sample-div" id="sample">
      <p>Fullscreen mode</p>
      </div>
      <br>
      <button onclick="var el=document.getElementById('sample'); el.webkitRequestFullscreen();">Click here</button>
   </div>
</body>
</html>
Advertisements