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 faisj'ai la barre de défilement vertical + horizontal
Code : Sélectionner tout - Visualiser dans une fenêtre à part canvas.height = window.innerHeight;
je faisles barres disparaissent mais j'ai un espace de 4px au bas du canvas
Code : Sélectionner tout - Visualiser dans une fenêtre à part canvas.height = window.innerHeight - 4;
voici le code de test :
je ne sais pas si le probleme vient du JS ou des CSS ...
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>
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)
Partager