How do I make a div full screen?

后端 未结 10 1800
耶瑟儿~
耶瑟儿~ 2020-12-07 10:59

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 butt

相关标签:
10条回答
  • 2020-12-07 11:16

    Can use FullScreen API like this

    function toggleFullscreen() {
      let elem = document.querySelector('#demo-video');
    
      if (!document.fullscreenElement) {
        elem.requestFullscreen().catch(err => {
          alert(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`);
        });
      } else {
        document.exitFullscreen();
      }
    }
    

    Demo

    const elem = document.querySelector('#park-pic');
    
    elem.addEventListener("click", function(e) {
      toggleFullScreen();
    }, false);
    
    function toggleFullScreen() {
    
      if (!document.fullscreenElement) {
        elem.requestFullscreen().catch(err => {
          alert(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`);
        });
      } else {
        document.exitFullscreen();
      }
    }
    #container{
      border:1px solid #aaa;
      padding:10px;
    }
    #park-pic {
      width: 100%;
      max-height: 70vh;
    }
    <div id="container">
      <p>
        <a href="#" id="toggle-fullscreen">Toggle Fullscreen</a>
      </p>
      <img id="park-pic"
          src="https://storage.coverr.co/posters/Skate-park"></video>
    </div>

    0 讨论(0)
  • 2020-12-07 11:21

    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;
        }
    
    0 讨论(0)
  • 2020-12-07 11:21
    .widget-HomePageSlider .slider-loader-hide {
        position: fixed;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        z-index: 10000;
        background: white;
    }
    
    0 讨论(0)
  • 2020-12-07 11:24

    For fullscreen of browser rendering area there is a simple solution supported by all modern browsers.

    div#placeholder {
        height: 100vh;
    }
    

    The only notable exception is the Android below 4.3 - but ofc only in the system browser/webview element (Chrome works ok).

    Browser support chart: http://caniuse.com/viewport-units

    For fullscreen of monitor please use HTML5 Fullscreen API

    0 讨论(0)
  • 2020-12-07 11:25

    This is the simplest one.

    #divid {
       position: fixed;
       top: 0;
       right: 0;
       bottom: 0;
       left: 0;
    }
    
    0 讨论(0)
  • 2020-12-07 11:26

    Use document height if you want to show it beyond the visible area of browser(scrollable area).

    CSS Portion

    #foo {
        position:absolute;
        top:0;
        left:0;
    }
    

    JQuery Portion

    $(document).ready(function() {
       $('#foo').css({
           width: $(document).width(),
           height: $(document).height()
       });
    });
    
    0 讨论(0)
提交回复
热议问题