Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

canvas muda o comportamento dependendo se o css é inline ou externo.

css inline:

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>
<body>

    <canvas width="600px" height="400px"></canvas>
    <script src="main.js"></script>
</body>
</html>

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

agora com css externo:

canvas{
    width: 600px;
    height: 400px;
    border: 1px solid black;
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

js:

var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');

pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 400);

pincel.fillStyle = 'green'; 
pincel.fillRect(0, 0, 200, 400);
1 resposta
solução!

Olá, Kellvin, tudo bem?

Interessante você ter ido além do curso e procurado formas diferentes de utilizar no seu desenho.

No primeiro exemplo, ao utilizar o widht e height diretamente na tag canvas, você não está mexendo no estilo e sim na proporção de tela do elemento. Neste caso, por padrão o css irá adicionar alguns atributos diferentes relacionados a esses elementos, por isso o resultado será diferente.

Para aplicar o css inline basta adicionarmos o style diretamente na tag correspondente no html. O código ficaria assim:

<canvas style="width: 600px; height: 400px"></canvas>

Ao fazer isso, o resultado será o mesmo no segundo exemplo que você mostrou utilizando um arquivo css para a estilização do html.

Espero ter ajudado.

Caso surja dúvidas, estou à disposição.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!