画布的大小(宽度和高度)可以更改,但画布的样式大小不能动态更改。如何通过JavaScript动态更改画布的样式大小?
canvas = document.getElementById('test_fabric');
ctx = this.canvas.getContext('2d');
canvas.style.width = 1000; // does not work.
canvas.style.height = 260; // does not work.
canvas.width = 100; // works.
canvas.height = 100; // works.
canvas.width和canvas.height都能正常工作,但canvas.style.width和canvas.style.height都不起作用。
在我的情况下,画布的样式大小只能通过画布的css文件或内联样式进行更改。
canvas#test_fabric {
width:400px;
height:400px;
background:gold;
}
或
<div><canvas id="test_fabric" width="200" height="200"
style="width:200px; height:200px"></canvas></div>
注:当内联样式存在CSS文件就失效了。
如何通过JavaScript动态更改画布的样式大小?
在此先感谢!
对不起jquery的,我的意思是:http://stackoverflow.com/questions/13779429/canvas-inline-height-and-width-属性覆盖与CSS样式是这是 – Gavriel
您是否尝试过指定CSS长度单位,例如“px”? 'canvas.style.width =“1000px”' – nnnnnn
我尝试使用“canvas.setAttribute('width','500');” 和“canvas.setAttribute('height','500');”,当定义没有样式的canvas标签时它们不起作用,并且在使用样式定义canvas标签时,Chrome报告消息: “[Report Only] Reflected to应用内联样式,因为它违反了以下内容安全策略指令:“style-src'self'”。'unsafe-inline'关键字,一个散列('sha256-8qEYHk4WwsvJKgLquQfLnw2DRoaMh4sWGNj24adrRLQ =')或一个随机数('nonce-。 ..')需要启用内联执行。“ – Calvin