hand
_1_12_150
4
返回栏目
0k
3k
5k
1k
2k
0.2k
2k
1k
2k
3k
2k
3k
2k
3k
3k
0.3k
0k
2k
0k
1k
0.1k
0k
0k
2k
2k
3k
0.2k
3k
0k
2k
2k
2k
3k
2k
2k
0k
4k
2k
2k
0k
3k
3k
2k
2k
2k
1k
3k
1k
3k
2k
1k
0.8k
2k
0k
2k
2k
2k
2k
3k
0.4k
4k
2k
5k
2k
3k
2k
3k
3k
4k
2k
3k
2k
3k
0.7k
2k
0.8k
3k
2k
4k
2k
2k
2k
2k
2k
3k
3k
3k
3k
4k
3k
3k
0k
2k
2k
0k
3k
2k
3k
1k
2k
2k
3k
3k
3k
3k
5k
3k
3k
3k
4k
3k
5k
4k
4k
4k
4k
1k
2k
2k
2k
2k
2k
2k
1k
2k
3k
3k
3k
3k
3k
2k
3k
4k
2k
2k
3k
5k
3k
3k
3k
4k
3k
3k
2k
3k
5k
4k
3k
4k
4k
2k
3k
3k
1k
3k
4k
4k
2k
2k
2k
3k
2k
4k
2k
4k
2k
4k
1k
2k
1k
2k
2k
1k
2k
2k
2k
2k
2k
2k
1k
1k
4k
3k
2k
2k
3k
3k
6k
2k
8k
3k
7k
2k
3k
3k
4k
3k
5k
4k
3k
3k
2k
2k
3k
3k
2k
2k
2k
3k
2k
6k
4k
4k
4k
4k
3k
3k
2k
4k
2k
3k
3k
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
0k
返回前端 - HTML5栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 13:03:00
在 HTML5 中,我们可以使用 <canvas>
元素来绘制矢量图形,其中文本元素的样式设置为页面增添了丰富的表现力。下面我们将深入探讨如何在 HTML5 的 <canvas>
中设置文本的样式。
在开始设置文本样式之前,我们先了解如何在 <canvas>
上绘制基本的文本。以下是一个简单的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Canvas Text Example</title>
</head>
<body>
<canvas id="myCanvas" width="400" height="200"></canvas>
<script>
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
ctx.font = '30px Arial';
ctx.fillText('Hello, Canvas!', 50, 100);
</script>
</body>
</html>
在上述代码中,我们首先获取了 <canvas>
元素和 2D 绘图上下文。然后,通过 ctx.font
属性设置了文本的字体和大小,最后使用 ctx.fillText()
方法在指定位置绘制了文本。
font
属性用于设置文本的字体样式,其语法与 CSS 中的 font
属性类似。以下是一些常见的字体设置示例:
// 设置字体为 20px 的宋体
ctx.font = '20px SimSun';
// 设置字体为 24px 的粗体 Arial
ctx.font = 'bold 24px Arial';
// 设置字体为 18px 的斜体 Verdana
ctx.font = 'italic 18px Verdana';
使用 fillStyle
属性可以设置文本的填充颜色,使用 strokeStyle
属性可以设置文本的描边颜色。示例如下:
// 设置文本填充颜色为红色
ctx.fillStyle = 'red';
ctx.fillText('Red Text', 50, 50);
// 设置文本描边颜色为蓝色
ctx.strokeStyle = 'blue';
ctx.strokeText('Blue Stroke Text', 50, 100);
textAlign
属性用于设置文本的水平对齐方式,textBaseline
属性用于设置文本的垂直对齐方式。常见的取值如下:
| 属性 | 取值 | 描述 |
| —— | —— | —— |
| textAlign
| start
、end
、left
、right
、center
| 水平对齐方式 |
| textBaseline
| top
、hanging
、middle
、alphabetic
、ideographic
、bottom
| 垂直对齐方式 |
示例代码:
ctx.font = '20px Arial';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText('Centered Text', canvas.width / 2, canvas.height / 2);
可以使用 shadowColor
、shadowBlur
、shadowOffsetX
和 shadowOffsetY
属性来设置文本的阴影效果。示例如下:
ctx.shadowColor = 'gray';
ctx.shadowBlur = 10;
ctx.shadowOffsetX = 5;
ctx.shadowOffsetY = 5;
ctx.fillStyle = 'black';
ctx.fillText('Text with Shadow', 50, 100);
下面是一个综合运用上述文本样式设置的完整示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Canvas Text Style Example</title>
</head>
<body>
<canvas id="myCanvas" width="400" height="300"></canvas>
<script>
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
// 设置字体
ctx.font = 'bold 24px Arial';
// 设置文本填充颜色
ctx.fillStyle = 'green';
ctx.fillText('Green Text', 50, 50);
// 设置文本描边颜色
ctx.strokeStyle = 'purple';
ctx.strokeText('Purple Stroke Text', 50, 100);
// 设置文本对齐方式
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillStyle = 'orange';
ctx.fillText('Centered Orange Text', canvas.width / 2, canvas.height / 2);
// 设置文本阴影
ctx.shadowColor = 'gray';
ctx.shadowBlur = 10;
ctx.shadowOffsetX = 5;
ctx.shadowOffsetY = 5;
ctx.fillStyle = 'brown';
ctx.fillText('Text with Shadow', 50, 250);
</script>
</body>
</html>
通过上述示例,我们可以看到在 HTML5 的 <canvas>
中,我们可以轻松地设置文本的各种样式,为页面添加丰富的视觉效果。希望本文能帮助你更好地掌握 HTML5 中矢量图形文本元素的样式设置。
前端 - HTML5
整章节共240节
快分享给你的小伙伴吧 ~