textBaseline 是 Canvas 2D API 描述繪制文本時,當前文本基線的屬性。
在y = 100處畫一條紅線,然后將每個單詞在y = 100處放置不同的textBaseline值:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML canvas textBaseline屬性使用-菜鳥教程(cainiaoplus.com)</title>
</head>
<body>
<canvas id="myCanvas" width="400" height="200" style="border:1px solid #d3d3d3;">
您的瀏覽器不支持 HTML5 canvas 標簽。
</canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
//在Y = 100畫一條紅線
ctx.strokeStyle="red";
ctx.moveTo(5,100);
ctx.lineTo(395,100);
ctx.stroke();
ctx.font="20px Arial"
//每個在y = 100的單詞有不同的textbaseline值
ctx.textBaseline="top";
ctx.fillText("Top",5,100);
ctx.textBaseline="bottom";
ctx.fillText("Bottom",50,100);
ctx.textBaseline="middle";
ctx.fillText("Middle",120,100);
ctx.textBaseline="alphabetic";
ctx.fillText("Alphabetic",190,100);
ctx.textBaseline="hanging";
ctx.fillText("Hanging",290,100);
</script>
</body>
</html>測試看看 ?/?IEFirefoxOperaChromeSafari
Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 textBaseline 屬性。
注意:textBaseline 屬性在不同的瀏覽器上效果不同,特別是使用 "hanging" 或 "ideographic" 時。
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。
textBaseline屬性設置或返回在繪制文本時使用的當前文本基線。
下面的圖示演示了 textBaseline 屬性支持的各種基線:

注意:fillText() 和strokeText() 方法在畫布上定位文本時,將使用指定的 textBaseline 值。
| 默認值: | alphabetic |
|---|---|
| JavaScript 語法: | context.textBaseline="alphabetic|top|hanging|middle|ideographic|bottom"; |
| 值 | 描述 |
|---|---|
| alphabetic | 默認。文本基線是普通的字母基線。 |
| top | 文本基線是 em 方框的頂端。 |
| hanging | 文本基線是懸掛基線。 |
| middle | 文本基線是 em 方框的正中。 |
| ideographic | 文本基線是表意基線。 |
| bottom | 文本基線是 em 方框的底端。 |