我的编程空间,编程开发者的网络收藏夹
学习永远不晚

canvas无法使用rem单位的解决方案

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

canvas无法使用rem单位的解决方案

这篇文章主要介绍“canvas无法使用rem单位的解决方案”,在日常操作中,相信很多人在canvas无法使用rem单位的解决方案问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”canvas无法使用rem单位的解决方案”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

CSS3中新的字体单位rem
前段时间无意中在wordpress主题中接触到一种字体单位rem,当时我就很好奇,毕竟以前没有见过,于是我马上查找资料,并测试了一回.

众所周知在web中有很多字体单位(font-size)较常见的有em,px,让我们对比一下这两种单位:

px是绝对值,准确而稳定.但是它的改变会影响页面布局.
em是相对值,它以父元素的大小为基准单位,来计算大小.所以很难把握.
考虑到这么多字体单位的优缺点,在CSS3中rem诞生了.rem也是相对单位(rem=root em)很明显rem是由em变化而来,或者说rem是em的升级版,具体来历.我们就不要去追究了,从字体表面上看,它就是这么回事.

root em,就是相对于根目录的em而不是相对于父元素,也就是说,它虽然是绝对值,但是只是相对于根目录来说也就是html,它不会随着其它元素的改变而改变.也就是说,我们只要设定html的文字大小就可以了.而不用考虑其它因素.

而且他还具有非常好的支持Chrome,Firefox,Safari,Opera,IE9+.IE6,7,8就只能使用px或者em了.

XML/HTML Code复制内容到剪贴板

  1. html{      

  2.     font-size:62.5%;      

  3. }  

为什么要这么设置呢?因为网页上的字体默认是16px,而16px的62.5%就是10px;也就是说这样的活1rem就等于10px,这个对于我们来说是非常棒的,font-size:1.2rem,当然为了兼容IE的低级版本还要写font-size:12px,别忘了要写在rem的前面.

在这里我要提到一点的就是,假如你要是用rem来设置行高,边距之类的单位.请在html中加入这么一句话:-webkit-text-size-adjust:none;来消除webkit的默认属性.否则在其它的地方rem不是以根目录作为基准值了.

canvas无法使用rem单位的解决方案
我们在使用canvas时需要设置画布的大小,即设置canvas标签的width,height属性。

XML/HTML Code复制内容到剪贴板

  1. <canvas width="200px" height="200px"></canvas>  

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

canvas的width属性不支持rem单位(如果使用样式当然支持rem,但注意canvas的width属性与style中的width是有区别的),如下

CSS Code复制内容到剪贴板

  1. <canvas width="2.5rem" height="2.5rem"></canvas>  

translate方法传参是坐标位置,不带单位,如ctx.translate(10,10);
适配屏幕是必须的,但如何解决?用最原始的百分比布局就可以:

  1. //获取屏幕的宽度   

  2. var  clientWidth = document.documentElement.clientWidth;   

  3. //根据设计图中的canvas画布的占比进行设置   

  4. var canvasWidth = Math.floor(clientWidth*200/720);   

  5. canvas.setAttribute('width',canvasWidth+'px');   

  6. canvas.setAttribute('height',canvasWidth+'px');   

  7. //translate方法也可以直接传入像素点坐标  

到此,关于“canvas无法使用rem单位的解决方案”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

canvas无法使用rem单位的解决方案

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

win10系统usb键盘无法使用的解决方案

有许多人在使用win10操作系统时,是否遇到过usb键盘无反应的情况,还不清楚。想知道如何处理win10系统的USB键盘无法使用问题吗?今天我将与你分享解决方案~。win10系统usb键盘无法使用的解决方法:1.首先在桌面上找到这台电脑,鼠
2023-07-18

Linux 无法使用userdel 删除用户和组的解决方案

Linux 无法使用userdel 删除用户和组的解决方案 简述:今天在看书的时候,看到有个实例,手痒痒的跟着做了起来。。。但是,出现问题了。。测试的用户和组不能删除。。 情况:一般我们移除,都是先把用户从组中删除,再依次把组干掉的。。。但
2022-06-04

PHP定位无法显示在腾讯地图上的解决方案

PHP作为一种流行的后端编程语言,在Web开发中被广泛应用。而在使用腾讯地图API时,有时会遇到定位无法显示在地图上的问题。本文将探讨这个问题的解决方案,并提供具体的PHP代码示例,帮助读者解决类似的困扰。首先,让我们了解一下在腾讯地图A
PHP定位无法显示在腾讯地图上的解决方案
2024-03-15

Win10无法下载Steam的解决方案

Steam是一个内置丰富的游戏资源的热门游戏平台,但一些用户发现他们无法在更新Win10系统后下载Steam。这是怎么回事?应该是因为我们的ipv4服务器地址没有设置好。让我们来看看解决方案。Win10不能下载Steam的解决方案:您可以尝
2023-07-10

php中session无法使用的解决方法

小编给大家分享一下php中session无法使用的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php session无法使用是因为在使用session前
2023-06-08

Ubuntu下Sublime Text无法输入中文最简单的解决方案

Sublime Sublime Text 是一个代码编辑器(Sublime Text2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,
2022-06-04

win10输入法无法切换的解决方案

在使用win10系统时,我们几乎都会遇到一些小问题。朋友向我咨询如何解决他的Win10输入法切换问题,然而我并不是小编。小编整理了一些信息。今天,我将与大家分享win10输入法的切换方法。不要说太多。让我们看看。win10输入法切换不了解决
2023-07-12

【Linux】关于普通用户无法使用sudo指令的解决方案

👑作者主页:@安 度 因 🏠学习社区:安度因的学习社区 📖专栏链接:Linux 文章目录 解决方案 如果无聊的话,就来逛逛 我的博客栈 吧! 🌹
2023-08-18

编程热搜

目录