我正在尝试使用HTML5& amp;来开发一个帆布盒悬停效果。 CSS3,但我不能让它工作。我想产生如下所示的效果:
即。当用户使用HTML5画布将鼠标悬停在蓝色方块上时,如何制作蓝色三角形并将其变为蓝色方块?
答案 0 :(得分:1)
在这里:https://jsfiddle.net/7g7tyn2c/
document.getElementById("canvasid").getContext("2d");
得到它的上下文,我们就可以在画布上绘制。我们想要绘制时引用这个上下文(我们存储在变量ctx
中),因为所有的绘图函数都存储了那里。ctx.fillStyle="blue"
。如果您想要不同的颜色,可以使用HEX代码,如下所示:ctx.fillStyle="#0000ff";
onmouseover
和onmouseout
事件调用。在页面加载时也会调用普通函数。ctx.moveTo(0,0,256,256);
ctx.lineTo(x,y)
绘制路径。这类似于Illustrator中的vector pen tool ctx.rect(0,0,256,256)
绘制一个覆盖整个区域的蓝色矩形。onmouseout
,那么我们将在广场顶部绘制一个蓝色三角形,它将保持全蓝色。为避免这种情况,我们使用ctx.clearRect(0,0,256,256)
删除所有画布内容并重新开始。这是在正常功能中运行。答案 1 :(得分:-1)
真的?只需使用:hover
选择器。
canvas:hover {
canvas:hover {
background: gold;
}
<canvas id="my-canvas" height="300" width="300"></canvas>