博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
canvas无法使用rem单位的解决方案
阅读量:6381 次
发布时间:2019-06-23

本文共 559 字,大约阅读时间需要 1 分钟。

我们在使用canvas时需要设置画布的大小,即设置canvas标签的width,height属性。

在移动端,画布的大小要根据屏幕的大小进行适配,我们一般采用rem结合媒体查询的方式。使用canvas时就遇到遇到一些问题:

  • canvas的width属性不支持rem单位(如果使用样式当然支持rem,但注意),如下

  • translate方法传参是坐标位置,不带单位,如ctx.translate(10,10);

适配屏幕是必须的,但如何解决?用最原始的百分比布局就可以:

//获取屏幕的宽度var  clientWidth = document.documentElement.clientWidth;//根据设计图中的canvas画布的占比进行设置var canvasWidth = Math.floor(clientWidth*200/720);canvas.setAttribute('width',canvasWidth+'px');canvas.setAttribute('height',canvasWidth+'px');//translate方法也可以直接传入像素点坐标

最后顺便放上写好的Demo:

如果有其他解决方案,欢迎讨论交流!如果文章对你有帮助,点下面的推荐鼓励下呗(๑>؂<๑)

转载地址:http://sfhqa.baihongyu.com/

你可能感兴趣的文章
==与===的区别
查看>>
不同工具查看代码分支diff的差异
查看>>
白话Java I/O模型
查看>>
上传一张照片,让算法告诉你是否患有抑郁症
查看>>
VR厂商唯晶科技获2800万C+轮融资,曾开发过游戏《圣女之歌》
查看>>
Countly 19.02.1 发布,实时移动和 web 分析报告平台
查看>>
TCP连接中time_wait在开发中的影响-搜人以鱼不如授之以渔
查看>>
Oracle数据库机出新帮助不同规模企业迈向云端
查看>>
前端通信:ajax设计方案(六)--- 全局配置、请求格式拓展和优化、请求二进制类型、浏览器错误搜集以及npm打包发布...
查看>>
微服务分布式企业框架 Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa
查看>>
被《时代周刊》选为年度最佳发明,PS VR靠的竟然是价格
查看>>
通用唯一标识码UUID的介绍及使用。
查看>>
spring笔记--依赖注入之针对不同类型变量的几种注入方式
查看>>
Ajax的简单学习
查看>>
为npm配置taobao源
查看>>
管理邮件用户
查看>>
导出DC数据以便以介质方式安装另一台域控制器
查看>>
Hibernate学习(八):检索方式
查看>>
基于WorsPress+Xampp搭建博客
查看>>
javascript的一些基本概念
查看>>