设置canvas元素的宽高的奇妙(jiujie)发现

大家都知道设置一块画布的大小

我们可以这样:

<canvas id="canvas" width="600" height="300">

  
</canvas>

也可以通过css进行设置

#canvas{

  width:600px;

   height:300px;

}

我这样写:

效果是这样:

可当我在css上也写上同样的尺寸并把canvas元素行内宽高去掉的时候。。。。。

hellow变的贼大。。明明都是一样的尺寸。

 好吧,其实:

canvas元素有两套尺寸,一个是元素自身的尺寸,一个是绘图表面的尺寸。

设置canvas标签行内的宽高时是同时修改了元素自身的尺寸和绘图表面的尺寸。但是css设置的宽高是针对元素的尺寸的,并没有影响到绘图表面的尺寸。

所以当我只设置了css的元素宽高时,绘图宽高还是不会变,是默认的300*150,浏览器就会把绘图表面拉伸到和元素宽高一样的尺寸。然后就放大了。

 

我这样来:

结果是怎样?

行内元素优先级大,所以元素自身尺寸和绘图表面都是300*150?还是元素自身尺寸是600*300,绘图表面也是600*300?

不是说行内宽高会同时设置元素尺寸和绘图表面的大小,那他们应该都是300*150。。

额。。结果

元素尺寸是600*300,绘图表面由300*150缩放成600*300,

我理解应该是绘图表面设置成了300*150,元素尺寸是根据css设置的600*300,浏览器缩放了绘图表面,让他和元素尺寸对齐。就如上图。

于是:

讲道理应该是绘图表面设置成600*300,元素尺寸设置成300*150

是这样的。。。

总结就是:宽高还是在元素行内设置的好。

转载于:https://www.cnblogs.com/jjucap/p/6383308.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值