当前位置: 首页 > 面试题库 >

使用CSS时画布会被拉伸,但是具有“ width” /“ height”属性的普通画布

谭京
2023-03-14
问题内容

我有2个画布,一个使用HTML属性width并调整height其大小,另一个使用CSS:

<canvas id="compteur1" width="300" height="300" onmousedown="compteurClick(this.id);"></canvas>
<canvas id="compteur2" style="width: 300px; height: 300px;" onmousedown="compteurClick(this.id);"></canvas>

Compteur1会像应该显示的那样显示,但不会像compteur2那样显示。内容是使用JavaScript在300x300画布上绘制的。

为什么会有显示差异?


问题答案:

似乎widthheight属性确定了画布坐标系的宽度或高度,而CSS属性仅确定了将在其中显示框的大小。

canvas元素有两个属性来控制元素的位图的大小:widthheight。指定这些属性时,它们的值必须是有效的非负整数。必须使用解析非负整数的规则来获取其数值。如果缺少属性,或者解析其值返回错误,则必须使用默认值。该width属性默认为300,该height属性默认为150。



 类似资料:
  • 问题内容: HTML 元素可以具有 width / height 属性,还可以具有CSS width / height 属性: HTML属性和CSS属性之间有什么区别,它们应具有相同的效果吗? 问题答案: 可以在此处找到有关该主题的热门讨论:图像标签和CSS的Width属性 把它们加起来: 声明宽度值和高度值(可能不是图像的原始物理尺寸)或css声明(例如width:[valueX]; heigh

  • 问题内容: CSS 和属性可接受的最大有效值是多少? (我目前正在构建一个Web应用程序,该应用程序会创建一个非常大的可缩放容器元素,我想知道实际的限制是什么。) 问题答案: 在宽度和高度为10000000000px的元素上使用某些浏览器随附的CSS检查器:

  • 问题内容: 这是什么意思?我猜这是一个浏览器黑客,但我一直无法找到确切的功能。 的意义是什么? 问题答案: 是特定于Internet Explorer 7、8和9的“ CSS hack”。 这只是意味着CSS的特定行以代替,仅在IE 7、8和9中有效。 在您的示例中 表示仅在使用IE 7、8和9时才应用500像素的宽度(与相同的结果)。 所有其他浏览器将完全忽略,因此根本不适用于该元素。 如果您的

  • 问题内容: 我收到错误消息,文件中的重要部分在…我想知道,因为game.js在下面的目录中,所以找不到画布?我该怎么办? ./index.html: ./javascript/game.js: 问题答案: 我想问题是您的js在加载html之前运行。 如果使用的是jquery,则可以使用文档就绪函数包装代码: 或者只是将您的js放在 。

  • 问题内容: 我试图让CSS动画属性在完成后保留,这可能吗? 这就是我想要实现的目标… 当用户登陆页面时,该元素应该被隐藏,在3秒钟(或任何其他时间)之后,该元素应淡入,动画完成后应留在该页面上。 这是一个小提琴尝试… 这是保存代码… 我知道如何使用jQuery ..就像这样… 问题答案: 我认为您正在寻找CSS3属性 animation-fill-mode CSS属性指定CSS动画在执行之前和之后

  • 问题内容: 因此,首先要设置场景: HTML CSS 这将在所有现代浏览器中生成如下所示的内容: CSS内部宽度测试,显示内箱超出了容器 现在,我知道这是符合标准的行为(正如我之前所知道的,但在本文中再次确认,并且我还知道是否在内部CSS声明中包含以下代码: …它将采用“边界框”模型,并得到对我来说似乎更直观的行为,但我只是发现自己试图从逻辑上论证为什么这样做是合理的,而我却无法做到。 对于我来说