Comment faire un div plein écran?

j'utilise Flot pour représenter graphiquement certaines de mes données et je pensais qu'il serait génial de faire apparaître ce graphique en plein écran (occupez un espace complet sur le moniteur) en cliquant sur un bouton. Actuellement, mon div comme suit:

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

bien sûr, l'attribut style n'est utilisé que pour tester. Je vais déplacer ce CSS après pendant la conception réelle. Y a-t-il quoi que ce soit que je puisse faire de cette div fullscreen et conserver tout le traitement de l'événement?

36
demandé sur Legend 2011-08-20 11:19:41

9 réponses

quand vous dites "plein écran", voulez-vous dire comme plein écran pour l'ordinateur, ou pour occuper tout l'espace dans le navigateur?

Vous ne pouvez pas forcer l'utilisateur en plein écran F11; toutefois, vous pouvez faire de votre div plein écran en utilisant le code CSS suivant

div {width: 100%; height: 100%;}

ceci supposera bien sûr que votre div est l'enfant du <body> balise. Sinon, vous devrez ajouter ce qui suit en plus du code ci-dessus.

div {position: absolute; top: 0; left: 0;}
62
répondu 2011-08-20 07:26:53

vous pouvez utiliser L'API Fullscreen HTML5 pour cela (ce qui est la manière la plus appropriée que je pense).

le plein écran doit être déclenché via un événement utilisateur (clic, touche) sinon ça ne marchera pas.

voici un bouton qui fait le plein écran de div sur le clic. Et en mode plein écran, le clic de bouton quittera le mode plein écran.

$('#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>

veuillez également noter que L'API Fullscreen pour Chrome ne fonctionne pas dans les pages non sécurisées. Voir https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins pour plus de détails.

une autre chose à noter est le: fullscreen CSS selector. Vous pouvez ajouter ceci à n'importe quel sélecteur css pour que les règles soient appliquées quand cet élément est fullscreen:

#container:-webkit-full-screen,
#container:-moz-full-screen,
#container:-ms-fullscreen,
#container:fullscreen {
    width: 100vw;
    height: 100vh;
    }
51
répondu 1.44mb 2018-08-05 16:19:05

CSS way:

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

JS way:

$(function() {
    function abso() {
        $('#foo').css({
            position: 'absolute',
            width: $(window).width(),
            height: $(window).height()
        });
    }

    $(window).resize(function() {
        abso();         
    });

    abso();
});
20
répondu daryl 2018-01-31 14:06:08

pour le plein écran de la zone de rendu de navigateur il y a une solution simple soutenue par tous les navigateurs modernes.

div#placeholder {
    height: 100vh;
}

la seule exception notable est L'Android ci - dessous 4.3-mais ofc seulement dans l'élément de navigateur de système/webview (Chrome fonctionne bien).

tableau de soutien du navigateur:http://caniuse.com/viewport-units

Pour un affichage plein écran de moniteur, veuillez utiliser HTML5 plein écran API

16
répondu Tomek Kobyliński 2018-01-31 14:03:06
.widget-HomePageSlider .slider-loader-hide {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 10000;
    background: white;
}
7
répondu Denis 2014-07-08 10:58:25

vous pouvez essayer cela..

<div id="placeholder" style="width:auto;height:auto"></div>

j'espère tu veux...

ou

en cliquant, Vous pouvez utiliser ce par jquery

$("#placeholder").css("width", $(window).width());
$("#placeholder").css("height", $(window).height());
2
répondu Wahid4sap 2011-08-20 08:19:32

utilisez la hauteur du document si vous voulez l'afficher au-delà de la zone visible du navigateur(zone scrollable).

CSS Portion

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

JQuery Portion

$(document).ready(function() {
   $('#foo').css({
       width: $(document).width(),
       height: $(document).height()
   });
});
2
répondu Dasun 2018-01-31 14:03:47

C'est le plus simple.

#divid {
   position: fixed;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}
1
répondu Varadha31590 2018-01-31 14:04:30
<div id="placeholder" style="position:absolute; top:0; right:0; bottom:0; left:0;"></div>
0
répondu Aaron 2016-08-11 13:08:31