javascript-如何获取Label,Button,TextArea或TextBox的字符总水平宽度?

前端之家收集整理的这篇文章主要介绍了javascript-如何获取Label,Button,TextArea或TextBox的字符总水平宽度? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Label,Button,TextArea和TextBox(从现在开始缩写为LBTT)能够显示文本字符串.有什么方法可以查看已经确定大小的LBTT对象,并确定给定对象的每行可能适合的字符数.

例如,让我们说我有一个textArea,它的宽度是固定的.有没有办法问这个textArea对象它可以水平容纳多少个字符?从概念上讲,.getHorizo​​ntalCharacterWidth()方法类似吗?

这是我的“视觉” ascii标签示例. “-”和“ |”应该分别代表Label的垂直和水平边缘.

 -------
|       |
|ABCDEFG|
|       |
 -------

如您所见,此标签每条水平线最多可容纳7个字符(在这种情况下为A-G)?因此,如果您在此Label上调用我的假想的.getHorizo​​ntalCharacterWidth(),它将返回7.问题是,您将如何实现.getHorizo​​ntalCharacterWidth()?

假设我使用的是固定宽度的字体.

谢谢

最佳答案
是的,假设您说的文本区域使用等宽字体,则aTextArea.getCharacterWidth()应该给出水平可用的字符数.尽管它将仅返回html属性cols,而该属性返回浏览器的默认宽度(或您使用aTextArea.setCharacterWidth()设置的默认宽度),而忽略了CSS指定的宽度.

虽然如果您知道以像素为单位的字体大小,则可以通过将像素宽度除以像素字体大小来大致估算可见的字符数.请注意,这可能会根据字体的字符高度/字体比率而有所不同,并且某些浏览器会返回包含或不包含滚动条(如果存在)的宽度.

猜你在找的HTML相关文章