• 原理: html 中的 span 标签 会对字体进行自适应宽度高度的处理
  • 通过添加一个 span 到 body 容器中得到字体的实际宽度和高度后
  • 然后删除 span 标签
/**
 * 计算字体大小
 */
function computeFontSize(str, size, family) {
    let spanDom = document.createElement("span");
    spanDom.style.fontSize = size;
    spanDom.style.opacity = "0";
    // spanDom.style.fontFamily = family;
    spanDom.innerHTML = str;
    document.body.append(spanDom);
    let sizeD = {};
    sizeD.width = spanDom.offsetWidth;
    sizeD.height = spanDom.offsetHeight;
    spanDom.remove();
    return sizeD;
}

let str = "张全蛋";
let st = computeFontSize(str, "16px", "微软雅黑");
console.log("方法计算大小: ")
console.log(st);
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐