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

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

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

html5 Canvas 如何自適應屏幕大?。?
查看完整描述

3 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

用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-03-29
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

只有內嵌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-03-29
  • 3 回答
  • 0 關注
  • 526 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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