前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字体按宽度自适应大小

字体按宽度自适应大小

作者头像
阿超
发布2023-09-14 08:15:16
1100
发布2023-09-14 08:15:16
举报
文章被收录于专栏:快乐阿超快乐阿超

不用给我爱,不用给我钱,不用给我声誉,给我真理吧。——梭罗的《瓦尔登湖》

一般可以使用vw或者em一类的属性来适配,但如果还需要更小,就只能使用scale缩放了,例如使用js

代码语言:javascript
复制
function scaleMemberName(memberElement: Element | null, reset: boolean) {
  if (!memberElement) {
    return;
  }
  const nameElement = memberElement.querySelector('.name');
  if (!(nameElement instanceof HTMLDivElement)) {
    return;
  }
  if (reset) {
    nameElement.style.scale = String();
    return;
  }
  const boundingBox = nameElement.getBoundingClientRect();
  const actualWidth = boundingBox.width;
  const scale = 84 / actualWidth;
  console.log({ [`${nameElement.textContent}`]: actualWidth, scale });
  if (scale >= 1) {
    return;
  }
  nameElement.style.scale = String(scale);
}
onMounted(() => {
  document
    .querySelectorAll('.member')
    ?.forEach((d) => scaleMemberName(d, false));
});

效果如下:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档