Lo intenté con el siguiente código. El div se coloca en la parte superior del elemento del lienzo tal como Mateo lo describe. Así debería funcionar para usted
<!DOCTYPE HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Canvas demo</title>
<style type="text/css">
#canvasSection{ position:fixed;}
</style>
<script type="text/javascript">
function draw()
{
//paint the text
var canvas = document.getElementById('canvasSection');
var context = canvas.getContext('2d');
context.fillStyle = '#00f';
context.font = 'italic 30px sans-serif';
context.textBaseline = 'top';
context.font = 'bold 30px sans-serif';
context.strokeText('Your Text!!', 0, 0);
//paint the square
var canvasSquare = document.getElementById('canvasSquare');
var ctxSquare = canvas.getContext('2d');
ctxSquare.fillStyle='#FF0000';
ctxSquare.fillRect(0, 100,50,100);
}
</script>
</head>
<body onLoad="draw()">
<canvas id="canvasSection">Error, canvas is not supported</canvas>
<div>TestText</div>
</body>
</html>
estilo intentado = "position: fixed; superior: 0; left: 0" y funciona muy bien. gracias! – user306708
acaba de descubrir que configuración z-index: -1; es necesario para poner el lienzo detrás de los otros elementos. – user306708
@ fx42: No configure 'z-index: -1', se mezcla con algunos navegadores. Más bien, envuelva el resto de sus elementos en un div y configure 'z-index: 1' en ese div. –