Javascript 是否可以将画布ID的宽度和高度属性设置为窗口大小的90%?

Javascript 是否可以将画布ID的宽度和高度属性设置为窗口大小的90%?,javascript,jquery,html,css,canvas,Javascript,Jquery,Html,Css,Canvas,我在使用Sketch.js将窗口大小设置为屏幕大小的90%时遇到问题 我尝试使用Javascript,但它开始时画布的大小是巨大的(比指定的大小大很多),然后在我开始绘制之后,它就达到了预期的大小 我有一个取消绘图按钮,关闭绘图,它位于触摸板上。因此,在用户开始绘制之前,“取消”按钮不可见 这是你的电话号码 $('#mysketch').sketch(); $('canvas').attr('height',$(window.height()+'px') 尝试使用css,将canvas高度设

我在使用Sketch.js将窗口大小设置为屏幕大小的90%时遇到问题

我尝试使用Javascript,但它开始时画布的大小是巨大的(比指定的大小大很多),然后在我开始绘制之后,它就达到了预期的大小

我有一个取消绘图按钮,关闭绘图,它位于触摸板上。因此,在用户开始绘制之前,“取消”按钮不可见

这是你的电话号码


$('#mysketch').sketch();
$('canvas').attr('height',$(window.height()+'px')

尝试使用
css
,将
canvas
高度设置为
90vh
宽度设置为
90vw
。看,

$(“#mysketch”).sketch()
画布{
高度:90vh;
宽度:90vw;
}

您可以像这样简单地声明一个变量

var procentOfHeight = $(window).height() * 0.9;

$('#mysketch').sketch();
$('canvas').css('height', procentOfHeight + 'px');
我已经编辑了代码,并在设置高度时将attr更改为css。现在它开始工作了。尝试下面的片段,我有一个50%的高点

var procentOfHeight=$(窗口).height()*0.5;
$('#mysketch').sketch();
$('canvas').css('height',procentOfHeight+'px')


宽度和高度属性的值必须是整数,而不是带有px的字符串。它们设置
画布的固有大小。然后你可以用CSS调整它的大小。谢谢你的建议,我没有包括我最初的尝试,但我最初的尝试是使用视口的高度和宽度,并将位置设置为绝对,但是,它仍然会在您开始绘制大尺寸之前自动重新调整图形的大小,并且在您开始绘制到预期大小之后自动重新调整图形的大小。谢谢您的建议!我尝试使用一个变量,但画布在尝试绘制时仍然会重新调整大小。以下是我所做的建议:太棒了,谢谢你的帮助!我已把你的答案标为正确答案。希望这将有助于其他人,如果他们有同样的问题。