亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

html5 Canvas 如何自適應屏幕大???

html5 Canvas 如何自適應屏幕大小?

FFIVE 2019-05-16 10:09:06
html5 Canvas 如何自適應屏幕大???
查看完整描述

3 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

用JS調制屏幕大小。

1.CSS 方面:去掉所有元素的外間距、內邊距,html 和 body 寬高設為 100%,canvas 元素 display 設為 block。

2.JS 方面:監聽窗口的 resize 事件,在窗口大小改變的同時調整 canvas 的大小。

3.完整代碼這里我們使用 jQuery 來處理窗口尺寸改變事件響應,以及屬性設置。

4.同時使用 $(window).get(0).innerHeight 獲取窗口高度,而不是 $(window).height()。是因為后者效果并不完美,無法返回所有瀏覽器窗口的完整高度值,這樣瀏覽器窗口中 canvas 元素和滾動條的四周可能會仍存在白色區域。

5.代碼公式:<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><script src="jquery-3.1.1.js"></script><style>* {margin: 0;padding: 0;}html, body {height: 100%;width: 100%;}canvas {display: block;background: #D6F8FF;}</style><script type="text/javascript">$(function() {//添加窗口尺寸改變響應監聽$(window).resize(resizeCanvas);//頁面加載后先設置一下canvas大小resizeCanvas();})//canvasfunctionresizeCanvas{$("#myCanvas").attr("width"$(window).get(0).innerWidth);$("#myCanvas").atr("height", $(window).get(0).innerHeight);};</script></head<body<canvas id="myCanvas" width="400" height="200"></body>。

</html>





查看完整回答
反對 回復 2019-05-17
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

只有內嵌css有效,外部css會出現拉伸的情況,
所以有兩種方案

var myCanvas = "<canvas id='myCanvas' width='" + screen.availWidth + "px' height='"+ screen.availHeight + "px'></vanvas>";
document.body.insertAdjacentHTML("beforeEnd", myCanvas);
或者這種做法
var myCanvas = document.createElement("canvas");
myCanvas.setAttribute("width", screen.availWidth);
myCanvas.setAttribute("height", screen.availHeight);
myCanvas.setAttribute("id", "myCanvas");
document.body.appendChild(myCanvas);
兩種方案的共性都是在把元素添加進DOM前設置他的大小

 





查看完整回答
反對 回復 2019-05-17
  • 3 回答
  • 0 關注
  • 372 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號