Le dimensioni (larghezza e altezza) di una tela possono essere modificate, ma la dimensione dello stile della tela non può essere modificata dinamicamente.Come modificare dinamicamente la dimensione dello stile di una tela da 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.
Sia canvas.width e canvas.height lavorare bene, ma entrambi canvas.style.width e canvas.style.height non funzionano.
Nel mio caso, le dimensioni dello stile della tela possono essere modificate solo da un file css o dallo stile in linea della tela.
canvas#test_fabric {
width:400px;
height:400px;
background:gold;
}
o
<div><canvas id="test_fabric" width="200" height="200"
style="width:200px; height:200px"></canvas></div>
Nota: il file CSS diventa inefficace quando esiste lo stile in linea.
Qual è il modo di modificare dinamicamente le dimensioni dello stile di una tela con JavaScript?
Grazie in anticipo!
dispiace, volevo dire: http://stackoverflow.com/questions/13779429/canvas-inline-height-and-width- attributes-overridden-with-css-styles-is-this-is – Gavriel
Hai provato a specificare unità di lunghezza CSS, ad es., "px"? 'canvas.style.width =" 1000px "' – nnnnnn
Provo ad usare "canvas.setAttribute ('width', '500');" e "canvas.setAttribute ('height', '500');", non funzionano quando si definisce il tag canvas senza stile e quando si definisce il tag canvas con stile, Chrome riporta un messaggio: "[Solo report] Rifiutato applica lo stile inline perché viola la seguente direttiva di Content Security Policy: "style-src 'self'". O la parola chiave 'unssafe-inline', un hash ('sha256-8qEYHk4WwsvJKgLquQfLnw2DRoaMh4sWGNj24adrRLQ =') o un nonce ('nonce-. .. ') è necessario per abilitare l'esecuzione in linea. " – Calvin