HTML5七夕情人节表白网页制作【html5+canvas全屏的520爱心表白网页代码】HTML+CSS+JavaScript
以下是一个使用HTML5和Canvas创建的全屏的520爱心表白页面的示例代码。这个示例仅包含HTML和JavaScript代码,没有提供CSS样式,因为样式可以根据您的喜好自定义。
<!DOCTYPE html>
<html>
<head>
<title>520 Love Heart</title>
<script>
function init() {
var canvas = document.getElementById('heartCanvas');
var ctx = canvas.getContext('2d');
// 设置canvas尺寸为全屏
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
// 绘制爱心的函数
function drawHeart(ctx, x, y, scale) {
ctx.save();
ctx.translate(x, y);
ctx.scale(scale, scale);
var dx = 100;
var dy = 100;
ctx.beginPath();
ctx.moveTo(dx, dy);
ctx.bezierCurveTo(dx, dy - 30, dx - 30, dy - 30, dx - 50, dy);
ctx.bezierCurveTo(dx - 70, dy + 30, dx - 70, dy + 30, dx - 50, dy + 50);
ctx.bezierCurveTo(dx - 30, dy + 70, dx - 30, dy + 70, dx, dy + 50);
ctx.bezierCurveTo(dx + 30, dy + 70, dx + 30, dy + 70, dx + 50, dy + 50);
ctx.bezierCurveTo(dx + 70, dy + 30, dx + 70, dy + 30, dx + 50, dy);
ctx.bezierCurveTo(dx + 30, dy - 30, dx + 30, dy - 30, dx + 50, dy);
ctx.bezierCurveTo(dx, dy - 30, dx, dy - 30, dx, dy);
ctx.fillStyle = 'pink';
ctx.fill();
ctx.restore();
}
// 绘制背景
ctx.fillStyle = 'rgba(255, 255, 255, 0.5)';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// 绘制爱心
for (var i = 0; i < 20; i++) {
drawHeart(ctx, Math.random() * canvas.width, Math.random() * canvas.height, Math.random() * 2 + 1);
}
}
window.onload = function() {
init();
};
// 窗口大小改变时重绘
window.onresize = function() {
init();
};
</script>
</head>
<body onload="init()">
<canvas id="heartCanvas"></canvas>
</body>
</html>
这段代码会在页面加载时自动调用init
函数,该函数会设置canvas的尺寸为浏览器窗口的尺寸,并且在窗口大小改变时重新设置。它还定义了一个drawHeart
函数,该函数用于绘制爱心形状,并在init
函数中通过循环绘制多个随机大小和位置的爱心。
评论已关闭