前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fabric.js 上标和下标的使用偏方🔥

Fabric.js 上标和下标的使用偏方🔥

作者头像
德育处主任
发布2022-06-10 15:19:34
1.7K0
发布2022-06-10 15:19:34
举报
文章被收录于专栏:前端数据可视化

对于数学化学这方面的项目,“上标”“下标” 功能是很常用的,比如 次方化学元素 等表达方式,都需要用到上标或者下标。

Fabric.js 中,文本元素有 TextITextTextbox 。本文主要讲解 IText 的上标和下标如何实现。在 TextTextbox 中的实现方式也是一样的。

上标

代码语言:javascript
复制
const iText = new fabric.IText('32=9', {
  styles: {
    0: { // 第1行
      1: { // 第2个字符
        deltaY: -14, // 向下偏移
        fontSize: 24, // 设置字体大小
      }
    }
})
复制代码

本例展示的是 3的平方等于9,要设置 deltaY 为负值。

deltaY 的作用是定义文本基线,基线向上移动就设置正值,向下移动就设置负值,默认是0 。

styles 的设置比较特殊,要针对某个字的话,需要通过行号和字符下标来定位。

行号字符下标都是从0开始,和 js 的数组一样。

IText 换行是使用 \n 来操作。

本例只有1行,所以行号为0。

2 所在的位置下标是 1

如果对这方面设置不太理解的话,可以看看 Fabric.js IText设置指定字符颜色和背景色

下标

代码语言:javascript
复制
const iText = new fabric.IText('H2O', {
  styles: {
    0: {
      1: {
        deltaY: 0,
        fontSize: 24
      }
    }
  }
})
复制代码

在本例中,下标我并不打算向下偏移,因为这样看起来不是那么好看,所以我只是设置了 fontSize 为24,将字号改小一点了。

总结

其实本文设置上标和下标的方法都是一样的,主要流程是以下3步:

  1. 通过行号和文字下标找到对应的字符
  2. 通过 deltaY 设置指定字符的文本基线
  3. 修改 fontSize ,让指定字符的字号比其他字符小一点

完成以上3步就能实现上标和下标的功能。

除了上述方式,其实还有另一种方式设置上标和下标的,但那种方式的应用场景稍微有点不同,下一篇再说说那种方法。

源码仓库

Fabric IText 上标和下标

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 上标
  • 下标
  • 总结
  • 源码仓库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档