📅  最后修改于: 2023-12-03 15:38:17.042000             🧑  作者: Mango
HTML5 中提供了两种指定区域形状的方法:<map>
和 <area>
元素以及 <canvas>
元素。
<map>
元素用于定义一个带有热点的图像地图。而 <area>
元素则用于定义图像中的热点区域。
<img src="example.jpg" usemap="#examplemap">
<map name="examplemap">
<area shape="rect" coords="0,0,100,100" href="#">
</map>
<img>
元素展示图片,并通过 usemap
属性指向 <map>
元素;<map>
元素使用 name
属性定义一个名称,并在 <area>
元素中指定;<area>
元素定义了一个形状为“矩形”,左上角坐标为 (0, 0),右下角坐标为 (100, 100),指向一个空链接(href="#"
)。使用 <map>
和 <area>
可以方便地实现图像的热点区域划分。
<canvas>
元素则是借助 JavaScript 绘制任意形状。可以使用该元素自定义图形的形状。
<canvas id="myCanvas" width="200" height="200"></canvas>
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
ctx.fillStyle = "red";
ctx.fillRect(50, 50, 100, 100);
<canvas>
元素定义了一个宽高为 200 的绘图区域;document.getElementById('myCanvas')
获取 <canvas>
元素,并使用 getContext('2d')
获取其中的 2D 渲染上下文对象;fillStyle
设定填充颜色为红色,使用 fillRect
方法绘制了一个起始位置为 (50, 50),尺寸为 100*100 的矩形。通过 <canvas>
元素和 JavaScript,我们可以实现更加复杂的图形形状。
HTML5 提供的 <map>
和 <area>
元素可以方便地将图像划分为多个热点区域。而 <canvas>
元素则可以通过 JavaScript 来绘制任意形状。根据实际需求,程序员们可以选择适合的方式来实现区域的形状。