【文本】HTML5 Canvas 文字水平对齐textAlign和垂直对齐textBaseline

我的处女作《Canvas系列教程》在我的Github上正在连载更新,希望能得到您的关注和支持,让我有更多的动力进行创作。

教程介绍、教程目录等能在README里查阅。

传送门:https://github.com/827652549/CanvasStudy

介绍

在canvas中使用strokeText()或fillText()绘制文本时,需要指定X和Y的坐标。本节讲的就是“文字绘制到(x,y)的哪个位置”。需要取决于textAlign和textBaseline这两个属性。

文本的对齐属性与基线属性
属性描述
textAlign决定文本在水平方向上的对齐方式。start | left | center | right | end,默认值start
textBaseline决定文本在垂直方向上的对齐方式。top | bottom | middle | alphabetic | ideographic | hanging,默认值alphabetic

讲解

先用一个小演示展示各个属性,黄色的点代表(X,Y)的位置

在线演示 详细代码

textAlign

我们可以看到,textAlign的属性start、center、end就是对应了基于X的位置,类似于“向初始看齐”、“向中间看齐”、“向结尾看齐”。这里如果当canvas元素的dir属性是ltr时,也就是说浏览器是按照从左至右的方向来显示文本时,left效果与start相同,right效果与end相同。同理,如果dir属性是rtl是,浏览器从右至左来显示文本,那么right效果与start相同,left效果与end一致。图示应用程序是从左至右来显示文本的。

 textAlign

textBaseline的属性默认值是alphabetic,改值用于绘制由基于拉丁字母的语言所组成的字符串。ideographic值则用于绘制中文字符串或日文。hanging绘制各种印度语字符串。top、bottom、middle与特定语言不相关,代表文本周围的边界框之内的某个位置,这个边界框也叫做“字符方框”(em square)

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值