LINUX.ORG.RU

Как сделать canvas фоном?

 


0

1

Делаю так:

    body {
		background: #191970;
        z-index: 20;
	}
	canvas {
        position: fixed;
        z-index: 10;
	}

Вообще работает, но ссылки перекрываются. Как сделать так, чтоб canvas был fixed и фоном, но при этом внизу? z-index он игнорирует.

Перемещено mono из talks

Deleted

Если нужно просто рисовать на canvas, а полученное изображение статично, то можно отрендерить off-screen с помощью canvas.toDataURL(), а затем положить изображение в фон.

Sadler ★★★
()
Ответ на: комментарий от Sadler

Не, это типа валящиеся снежинки. Вот кусок:

<canvas id="canvas">
<script type="text/javascript">
window.onload = function(){
	var canvas = document.getElementById("canvas");
	var ctx = canvas.getContext("2d");
	var W = window.innerWidth;
	var H = window.innerHeight;
	canvas.width = W;
	canvas.height = H;
	var mp = 40;
	var particles = [];
	for(var i = 0; i < mp; i++)
	{
		particles.push({
			x: Math.random()*W,
			y: Math.random()*H,
			r: Math.random()*4+1,
			d: Math.random()*mp
		})
	}
	function draw()
	{
		ctx.clearRect(0, 0, W, H);
		ctx.fillStyle = "rgba(255, 255, 255, 0.8)";
		ctx.beginPath();
		for(var i = 0; i < mp; i++)
		{
			var p = particles[i];
			ctx.moveTo(p.x, p.y);
			ctx.arc(p.x, p.y, p.r, 0, Math.PI*2, true);
		}
		ctx.fill();
		update();
	}	
	var angle = 0;
	function update()
	{
		angle += 0.01;
		for(var i = 0; i < mp; i++)
		{
			var p = particles[i];
			p.y += Math.cos(angle+p.d) + 1 + p.r/2;
			p.x += Math.sin(angle) * 2;
			
			if(p.x > W+5 || p.x < -5 || p.y > H)
			{
				if(i%3 > 0)
				{
					particles[i] = {x: Math.random()*W, y: -10, r: p.r, d: p.d};
				}
				else
				{
					if(Math.sin(angle) > 0)
					{
						particles[i] = {x: -5, y: Math.random()*H, r: p.r, d: p.d};
					}
					else
					{
						particles[i] = {x: W+5, y: Math.random()*H, r: p.r, d: p.d};
					}
				}
			}
		}
	}
	setInterval(draw, 33);
}
</script>
</canvas>

А потом идёт один сплошной body.

Deleted
()
Ответ на: комментарий от Deleted

Не, это типа валящиеся снежинки

держи его!!!

dib2 ★★★★★
()
Ответ на: комментарий от Shadow

position absolute top 0 right 0 bottom 0 left 0 z-index -1

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.