首页前端开发HTMLhtml5 Canvas 如何实现自适应屏幕大小?

html5 Canvas 如何实现自适应屏幕大小?

时间2024-01-26 18:30:02发布访客分类HTML浏览372
导读:收集整理的这篇文章主要介绍了html5教程-html5 Canvas 如何实现自适应屏幕大小?,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 最简...
收集整理的这篇文章主要介绍了html5教程-html5 Canvas 如何实现自适应屏幕大小?,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

最简单使用Canvas元素:

canvas width="300" height="300"> /canvas>

这样就创建出一个空白画布。

但是这样创建出的画布不能随着浏览器窗口大小的改变而动态的改变画布的大小。而这一点往往又非常重要, 因为我们会经常改变浏览器窗口大小,不会一直保持某个固定的大小。

首先可以先准备一个canvas.css 放到htML文件的同一目录下,css内容:

 * {
     margin: 0;
     padding: 0;
 }
        html, body {
     height: 100%;
     width: 100%;
 }
        canvas {
     display: block;
 }
      

然后在html文件里引入canvas.css:

link href="canvas.css"rel="stylesheet" tyPE="text/css">

这样保证整个canvas能填充整个浏览器窗口

但是仅仅是这样canvas的内容并不能随着窗口大小的改变而改变。

我们需要在窗口大小改变的同时调整画板的大小,所以我们需要在js中加入下面这段代码:

 $(window).resize(resizeCanvas);
        function resizeCanvas() {
                   canvas.attr("width", $(window).get(0).innerWidth);
                   canvas.attr("height", $(window).get(0).innerHeight);
                   context.fillRect(0, 0, canvas.width(), canvas.height());
        }
    ;
            resizeCanvas();
      

这样画布就能根据窗口大小自动调整了,并且不会出现滚动条了。

注:使用$(window).get(0).innerHeight代替$(window).height()是因为后者无法返回所有浏览器窗口的完整高度值。这种方法实际效果并不完美,浏览器窗口中canvas元素和滚动条的四周仍存在白色区域

最简单使用Canvas元素:

canvas width="300" height="300"> /canvas>

这样就创建出一个空白画布。

但是这样创建出的画布不能随着浏览器窗口大小的改变而动态的改变画布的大小。而这一点往往又非常重要, 因为我们会经常改变浏览器窗口大小,不会一直保持某个固定的大小。

首先可以先准备一个canvas.css 放到html文件的同一目录下,css内容:

 * {
     margin: 0;
     padding: 0;
 }
        html, body {
     height: 100%;
     width: 100%;
 }
        canvas {
     display: block;
 }
      

然后在html文件里引入canvas.css:

link href="canvas.css"rel="stylesheet" type="text/css">

这样保证整个canvas能填充整个浏览器窗口

但是仅仅是这样canvas的内容并不能随着窗口大小的改变而改变。

我们需要在窗口大小改变的同时调整画板的大小,所以我们需要在js中加入下面这段代码:

 $(window).resize(resizeCanvas);
        function resizeCanvas() {
                   canvas.attr("width", $(window).get(0).innerWidth);
                   canvas.attr("height", $(window).get(0).innerHeight);
                   context.fillRect(0, 0, canvas.width(), canvas.height());
        }
    ;
            resizeCanvas();
      

这样画布就能根据窗口大小自动调整了,并且不会出现滚动条了。

注:使用$(window).get(0).innerHeight代替$(window).height()是因为后者无法返回所有浏览器窗口的完整高度值。这种方法实际效果并不完美,浏览器窗口中canvas元素和滚动条的四周仍存在白色区域

觉得可用,就经常来吧! 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

CSSdivHTMLpost-format-gallery

若转载请注明出处: html5 Canvas 如何实现自适应屏幕大小?
本文地址: https://pptw.com/jishu/587122.html
HTML5基本标签总结 html5上传文件提交服务器前的一些前端验证(代码实例)

游客 回复需填写必要信息