Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I make a div full screen?

I am using Flot to graph some of my data and I was thinking it would be great to make this graph appear fullscreen (occupy full space on the monitor) upon clicking on a button. Currently, my div is as follows:

<div id="placeholder" style="width:800px;height:600px"></div> 

Of course, the style attribute is only for testing. I will move this to CSS after during the actual design. Is there anyway I could make this div fullscreen and still preserve all event handling?

like image 743
Legend Avatar asked Aug 20 '11 07:08

Legend


People also ask

How do I make my html body full screen?

If you set the width to 100% on the body element you will have a full page width. This is essentially equivalent to not setting a width value and allowing the default. If you want to use the body element as a smaller container and let the HTML element fill the page, you could set a max-width value on the body.

How do I make div full screen on button click?

You'll want a fixed position element at 100% width and height , if you don't have a background color or image you'll be able to click through it. Set z-index higher then all other elements to ensure it is at the front if you need that.

How do I make content full screen?

Make the browser window fullscreen On a Windows computer, you can set Google Chrome, Internet Explorer, Microsoft Edge, or Mozilla Firefox to full-screen mode, hiding the toolbars and address bar by pressing the F11 key. To reverse this action and show these items again, press F11 again.


1 Answers

You can use HTML5 Fullscreen API for this (which is the most suitable way i think).

The fullscreen has to be triggered via a user event (click, keypress) otherwise it won't work.

Here is a button which makes the div fullscreen on click. And in fullscreen mode, the button click will exit fullscreen mode.

$('#toggle_fullscreen').on('click', function(){    // if already full screen; exit    // else go fullscreen    if (      document.fullscreenElement ||      document.webkitFullscreenElement ||      document.mozFullScreenElement ||      document.msFullscreenElement    ) {      if (document.exitFullscreen) {        document.exitFullscreen();      } else if (document.mozCancelFullScreen) {        document.mozCancelFullScreen();      } else if (document.webkitExitFullscreen) {        document.webkitExitFullscreen();      } else if (document.msExitFullscreen) {        document.msExitFullscreen();      }    } else {      element = $('#container').get(0);      if (element.requestFullscreen) {        element.requestFullscreen();      } else if (element.mozRequestFullScreen) {        element.mozRequestFullScreen();      } else if (element.webkitRequestFullscreen) {        element.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);      } else if (element.msRequestFullscreen) {        element.msRequestFullscreen();      }    }  });
#container{    border:1px solid red;    border-radius: .5em;    padding:10px;  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  <div id="container">    <p>      <a href="#" id="toggle_fullscreen">Toggle Fullscreen</a>    </p>    I will be fullscreen, yay!  </div>

Please also note that Fullscreen API for Chrome does not work in non-secure pages. See https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins for more details.

Another thing to note is the :fullscreen CSS selector. You can append this to any css selector so the that the rules will be applied when that element is fullscreen:

#container:-webkit-full-screen, #container:-moz-full-screen, #container:-ms-fullscreen, #container:fullscreen {     width: 100vw;     height: 100vh;     } 
like image 188
tozlu Avatar answered Oct 03 '22 02:10

tozlu