js计算字符串宽度

  • 大家可能会碰到这样一个需求:一个容器的宽度固定,当内容的宽度超过容器的宽度时鼠标移入显示提示框,不超过时则不显示。

    这个时候就需要知道内容到底多宽。

怎么计算宽度

一 、估计法

假设文字大小是14px,如果字符的长度是10,那么内容的宽度大概是14*10=140
,这种方法显然误差很大,数字,特殊字符,英文字母,汉字的大小各不相同。

二、真实计算法

利用offsetWidth获取宽度
有时我们在计算宽度的时候,可能无法获取父节点的dom对象,这个时候怎么办呢?

话不多说直接上代码

function computedTextWidth(text) {let span = document.createElement('span');span.innerHTML = text;span.style.visibility = 'hidden';span.setAttribute('class','fontSize');let width = span.offsetWidth;document.getElementsByTagName('body')[0].removeChild(span);return width;
}
let str = '哈哈哈哈哈哈hhhhhh,。.,%$^!@(*&%^12345';
computedTextWidth(str);

总的思路就是:在计算方法里创建字符串的容器span,在把span挂载到body下,再利用
offsetWidth获取宽度,然后再移除span。

  • 如果字符串有特殊的类,也要把类名加到span上,这样计算的宽度才准确。
  • 计算高度的方法也类似。

JS计算字符串在浏览器中显示的宽度相关推荐

  1. new Date(2019-05-10 08:00:00) 格式在IE内核或者低版本浏览器中显示NaN或者Invalid Date的问题...

    js new Date("2019-05-10 08:00:00") 格式在IE内核或者低版本浏览器中显示NaN或者Invalid Date的问题. 在高级浏览器上new Date ...

  2. java 下载文件大小_如何在浏览器中显示使用角度5下载的文件的文件大小?

    我使用答案中的代码在角度5中实现了文件下载: 我有一个spring boot后端,它发送一个http响应对象,它有文件字节数组作为主体和内容类型,内容配置和内容长度 . 我不得不允许暴露的 Heade ...

  3. html在浏览器显示图片,html - 在所有Web浏览器中显示TIFF图像

    html - 在所有Web浏览器中显示TIFF图像 如何在HTML页面中处理TIFF文件? 我想在HTML页面中显示TIFF文件. 我尝试使用嵌入式标签,对象ID,img等.但我无法在HTML页面中显 ...

  4. 如何能在浏览器中显示三维模型

    原文地址:如何能在浏览器中显示三维模型 作者: 布鲁斯-宋 随着BIM的火热发展,以及BIM桌面软件对电脑硬件越来越高的要求,越来越多的企业希望能通过浏览器展示BIM模型,管理BIM模型相关的信息.这 ...

  5. Java Web项目中HTML文件中的汉字在浏览器中显示乱码的解决方案

    今天在做一个Java Web项目的时候,html中的汉字在浏览器中显示为乱码,分析其可能原因有: (1)html文件属性中有默认的编码方式,如果它的设置与html文档中content charset属 ...

  6. Vue2.js:前端在浏览器中网页表格打印的实现方案:window.print、print-js、iframe

    目录 需求描述 方案1:直接打印页面 方案2:使用css媒体查询控制打印内容 方案3:第三方插件print-js 方案4:将要打印的节点内容写入iframe 方案5:将要打印的html写入iframe ...

  7. 如何在浏览器中显示本地文件系统_如何完全卸载浏览器中的Flash插件

    Flash插件作为浏览器中常用的插件,经常会出现各种问题,需要重新安装,这里就讲一下如何真正卸载浏览器中的Flash插件. 如何下载网页中的swf文件-百度经验​jingyan.baidu.com 适 ...

  8. adobe reader java_请问,如何用JAVA读PDF文件在浏览器中显示,不需要在本地系统中安装Adobe Reader。求java代码...

    JAVA读PDF可以实现,重点是如何在网页中显示PDF文件,而且不需要安装AdobeReader.没有安装AdobeReader,在网页显示PDF文件时,浏览器会提示下载.请问如何在网页中显示PDF文 ...

  9. JSP页面在浏览器中显示HTML代码被截断显示不全

    本文参考: 参考博文 代码明明没错的情况下,把我一天的时间给浪费了..实属把我整自闭了..后面觉得查看了源代码才发现是这样.. 问题描述: 在JSP页面内容过长时,在JSP代码没有错误的情况下,查看页 ...

最新文章

  1. python字符串常量_python教程---字符串常量ascii_letters、punctuation、digits、whitespace等...
  2. My first App EncryptWheel is in WAITING FOR REVIEW status
  3. 深度学习在医学影像的三大类项目应用
  4. Java中的LinkedHashMap
  5. 在linux系统中如何查看cpu,Linux中如何查看CPU的信息
  6. STC单片机代码烧录
  7. 点餐系统+小程序常见问题解决(2022年最新版)
  8. 关于VSCode 要求Java 11 升级的问题——“Java 11 or more recent is required to run the java extension“
  9. 调试python程序---pdb
  10. The LeVoice Far-field Speech Recognition System for VOiCES from a Distance Challenge 2019
  11. Unity实战之王者荣耀段位计算
  12. python爬虫遇到 ‘NoneType‘ object has no attribute ‘find_all‘ 问题
  13. 如何不再成为压力祭品?
  14. 计算机安全培训计划,2018年度计算机学院(软件学院)实验室安全教育培训计划...
  15. 数据输出延迟时长测试方案
  16. 多多情报通:拼多多修改关键词的最佳价格是什么时候?如何排名第一?
  17. 77种网络经济创新模式
  18. 基于Python实现的数据质量检查
  19. 吉林大学 超星慕课 高级语言程序设计 实验08 结构化程序设计(2022级)
  20. 我的2016—“不平凡”的一年

热门文章

  1. 指数族分布(2)——对数配分函数和MLE与充分统计量
  2. JNDI注入学习(看不懂直接喷,别忍着!)
  3. 回答网友的几个跟帖和感想
  4. 推荐一款快速生成海报的微信小插件
  5. 欧阳的科研历程-1 目标
  6. 两种方法实现文字阴影效果
  7. JSP 返回上一页的几种方法
  8. 学it需要学历吗_低学历者是否适合学IT?IT行业对学历要求高吗
  9. 《酬乐天扬州初逢席上见赠》
  10. 通过python使用多种方法改变图片尺寸