IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Canvas pleine page sans barre de défilement ? [API HTML5]


Sujet :

JavaScript

  1. #1
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut Canvas pleine page sans barre de défilement ?
    salut,

    j'essaye de faire en sorte qu'un canvas utilise tout l'espace possible d'un document (body), je fais donc un 'resize' quand la taille de la fenetre change pour redimensionner le canvas mais ya une couille dans le potage.

    si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    canvas.height = window.innerHeight;
    j'ai la barre de défilement vertical + horizontal


    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    canvas.height = window.innerHeight - 4;
    les barres disparaissent mais j'ai un espace de 4px au bas du canvas


    voici le code de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>un canvas pleine page ?</title>
    <style>
    html, body {
      background-color: black;
      width:  100%;
      height: 100%;
      margin: 0;
      padding: 0;
      border: 0;
    }
    #canvas {
      background-color: white;
      margin: 0;
      padding: 0;
      border: 0;
    }
    </style>
    <script>
    window.onload = window.onresize = function(){
     
      var canvas = document.getElementById('canvas');
      var context = canvas.getContext('2d');
     
      canvas.width = window.innerWidth;
      canvas.height = window.innerHeight;
     
      context.lineWidth = 3;
      context.strokeStyle = "#FF0000";
      context.strokeRect(0,0,canvas.width,canvas.height); 
     
      console.group("test");
      console.log("window.innerWidth=", window.innerWidth);
      console.log("window.innerHeight=",window.innerHeight);
      console.log("document.width=",document.width);
      console.log("document.height=",document.height);
      console.log("canvas.width=",canvas.width);
      console.log("canvas.height=",canvas.height);
      console.groupEnd("test");
    };
    </script>
    </head>
    <body>
    <canvas id="canvas"></canvas>
    </body>
    </html>
    je ne sais pas si le probleme vient du JS ou des CSS ...
    j'ai essayé de définir la taille du canvas en pixel, dans les css ou en dur mais pas de changement.

    comment régler le probleme (testé sur FF et chrome) ?


    ps : je suis obligé de mettre width: 100% et height: 100% dans les css pour chrome sinon il merdouille complet (j'ai toujours les barre de défilement)
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 957
    Points : 44 118
    Points
    44 118
    Par défaut
    Bonjour,
    les éléments CANVAS sont par défaut des éléments inline, mets lui donc un display:block.

  3. #3
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    merci, j'aurais pas pensé a ça ..
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/05/2013, 13h30
  2. [XHTML] Liste déroulante sans barre de défilement sous Firefox
    Par thierrybo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 10/04/2009, 18h13
  3. barre de défilement au milieu d'une page
    Par stanley dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/04/2006, 20h36
  4. Barre de défilement dans une page
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/03/2006, 13h51
  5. une balise HTMl pour affichage de la page sans barre de déf
    Par ghita269 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/01/2006, 01h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo