canvas标签textAlign设置当前文本对齐方式。
画布文本对齐方式

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>画布文本对齐方式-HTML教程www.xuandaima.com</title>
</head>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签。
</canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
//在位置150创建一个红色线
ctx.strokeStyle="red";
ctx.moveTo(150,20);
ctx.lineTo(150,170);
ctx.stroke();
ctx.font="15px Arial";
// 表明不同TextAlign值
ctx.textAlign="start";
ctx.fillText("textAlign=start",150,60);
ctx.textAlign="left";
ctx.fillText("textAlign=left",150,80);
ctx.textAlign="center";
ctx.fillText("textAlign=center",150,100);
ctx.textAlign="right";
ctx.fillText("textAlign=right",150,120);
ctx.textAlign="end";
ctx.fillText("textAlign=end",150,140);
</script>
</body>
</html>| document.getElementById("myCanvas2") | 返回文档id属性为"myCanvas2"的对象 |
| getContext("2d") | getContext() 返回画布上绘图的环境。getContext("2d") 返回绘制类型(2 维)的环境,未来可能会支持3维,但现在支持2维。 |
strokeStyle="red" | 定义笔触颜色为红色。 |
| moveTo(150,20) | 定义开始点X坐标为150,Y坐标为20。 |
| lineTo(150,170) | 定义第二个点X坐标为150,Y坐标为170。 |
| stroke() | 使用笔触绘画。 |
| font="15px Arial" | 定义一个字体为Arial大小为15像素。 |
| textAlign="start" | 定义文本对齐属性为开始位置。 |
| fillText("textAlign=start",150,60) | 定义填充文本为"textAlign=start",位置在X坐标为150,Y坐标为60。 |
| textAlign="left" | 定义文本对齐属性为左边位置。 |
| fillText("textAlign=left",150,80) | 定义填充文本为"textAlign=left",位置在X坐标为150,Y坐标为80。 |
| textAlign="center" | 定义文本对齐属性为居中位置。 |
| fillText("textAlign=center",150,60) | 定义填充文本为"textAlign=center",位置在X坐标为150,Y坐标为100。 |
| textAlign="right" | 定义文本对齐属性为右边位置。 |
| fillText("textAlign=right",150,120) | 定义填充文本为"textAlign=right",位置在X坐标为150,Y坐标为120。 |
| textAlign="end" | 定义文本对齐属性为结算位置。 |
| fillText("textAlign=end",150,120) | 定义填充文本为"textAlign=end",位置在X坐标为150,Y坐标为140。 |
![]() | 该对齐是基于fillText方法的x的值,也就是150的位置。textAlign需要配合strokeText()或fillText()方法使用。 |
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。





textAlign的默认值为“start”
context.textAlign="center|end|left|right|start";
| 值 | 描述 |
|---|---|
| start | 默认。文本对齐界线开始地方(从左到右)。 |
| end | 文本对齐界线结束地方(从右到左)。 |
| center | 文本居中对齐,一半在x的左边,一半在x的右边。 |
| left | 文本左对齐(从左到右)。 |
| right | 文本右对齐(从右到左)。 |