字体设置

Canvas font属性详解,掌握字体大小、字体族、字体样式、字体粗细等设置方法。font属性设置文本的字体样式,语法与CSS font属性相同。

基本语法

ctx.font = 'font-style font-weight font-size font-family'

字体属性组成

属性说明示例
font-style字体样式normal, italic, oblique
font-weight字体粗细normal, bold, 100-900
font-size字体大小16px, 1.5em
font-family字体族Arial, sans-serif

基本字体设置

ctx.font = '20px Arial'
ctx.font = 'bold 24px Georgia'
ctx.font = 'italic bold 18px Times New Roman'

字体演示

不同字体设置

字体大小

ctx.font = '12px Arial'   // 12像素
ctx.font = '20px Arial'   // 20像素
ctx.font = '1.5em Arial'  // 相对大小

字体大小演示

不同字体大小

字体粗细

ctx.font = 'normal 20px Arial'  // 正常
ctx.font = 'bold 20px Arial'    // 粗体
ctx.font = '100 20px Arial'     // 极细
ctx.font = '900 20px Arial'     // 极粗

字体粗细演示

不同字体粗细

字体样式

ctx.font = 'normal 20px Arial'   // 正常
ctx.font = 'italic 20px Arial'   // 斜体
ctx.font = 'oblique 20px Arial'  // 倾斜

字体样式演示

字体样式对比

字体族

常用Web安全字体:

ctx.font = '20px Arial, sans-serif'
ctx.font = '20px Georgia, serif'
ctx.font = '20px Courier New, monospace'
ctx.font = '20px Times New Roman, serif'
ctx.font = '20px Verdana, sans-serif'

字体族演示

不同字体族

注意事项

默认字体

默认字体为 10px sans-serif

字体加载

使用自定义字体需确保字体已加载完成。

document.fonts.ready.then(function() {
  ctx.font = '20px CustomFont'
  ctx.fillText('自定义字体', 50, 50)
})

字体回退

始终指定回退字体。

ctx.font = '20px CustomFont, Arial, sans-serif'