【问题标题】:Get string length in pixels using JavaScript [duplicate]使用JavaScript获取以像素为单位的字符串长度[重复]
【发布时间】:2013-01-28 23:05:25
【问题描述】:

我想知道字符串的确切长度(以像素为单位),即“Hello World”。

它不应该是我的容器的长度。

任何帮助???

【问题讨论】:

  • “它不应该是我容器的长度。” 选择正确的容器(例如,没有填充的跨度),没有区别。

标签: javascript string pixels string-length


【解决方案1】:

将您的文本放入 <span> 并使用 JavaScript 测量您的 <span> 的宽度。

HTML:

<span id="text">Dummy text</span>

JavaScript:

var textWidth = document.getElementById("text").clientWidth;

jQuery:

$('#text').width();

【讨论】:

  • 如果 span 的 CSS 样式将其宽度设置为 100% 例如,这将不起作用!
  • 你是对的@Andry。除了span 根据定义是inline element。这意味着您无法在不将其显示更改为例如的情况下定义其宽度blockinline-block.
  • 另外,这里提到的另一个好答案:stackoverflow.com/a/32558114/5864984
【解决方案2】:

您可以创建一些内联元素(例如span),将字符串设置为元素的内容(innerHTML),将其插入文档(附加到某个元素)并获取其宽度(clientWidth)。

没有其他方法可以以像素为单位测量字符串的长度,因为它取决于字体样式。

【讨论】:

    【解决方案3】:

    由于字符串的像素长度会根据独立应用的 CSS 属性(如字体、粗细和大小)而改变,我看不出这在 JS 中是可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 2012-10-31
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多