文本基线

Canvas textBaseline属性详解,掌握top、bottom、middle、alphabetic等基线对齐方式。textBaseline属性控制文本的垂直对齐方式,决定文本相对于绘制坐标的垂直位置。

基本语法

ctx.textBaseline = 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom'

基线类型说明

说明
top文本顶部对齐坐标
hanging悬挂基线(主要用于印度文字)
middle文本中部对齐坐标
alphabetic字母基线(默认)
ideographic表意文字基线
bottom文本底部对齐坐标

基线演示

六种基线对齐

基线位置示意

// top: 坐标在文本顶部
ctx.textBaseline = 'top'
ctx.fillText('文本', 50, 50)  // 文本从y=50开始向下

// middle: 坐标在文本中部
ctx.textBaseline = 'middle'
ctx.fillText('文本', 50, 50)  // 文本以y=50为中心

// bottom: 坐标在文本底部
ctx.textBaseline = 'bottom'
ctx.fillText('文本', 50, 50)  // 文本在y=50上方结束

常用基线对比

常用基线对比

在矩形中居中文字

矩形中居中文字

多行文本基线

多行文本对齐

基线与字体大小

不同大小文字对齐

注意事项

默认值

textBaseline默认值为'alphabetic'。

与textAlign配合

通常需要同时设置textAlign和textBaseline实现精确对齐。

字体差异

不同字体的基线位置可能略有差异。