CSS否,Javascript是
您无法使用CSS进行此操作,但是可以在javascript /
jQuery中进行。为了帮助您使用伪代码,因为您已经知道该怎么做。只是您不知道如何检测多余的宽度。
最好的方法是使DIV具有以下(至少)样式:
position: absolute;visibility: hidden;white-space: nowrap;font-family:
然后将文本复制到该文本并设置一些起始字体大小。然后,您可以遍历while循环,并在div的宽度合适时停止。然后将计算出的字体大小设置为原始标题。
这样,该检查将对用户不可见,因此也将更快地工作。
顺便说一句
:这是自动增长
textarea脚本工作的通常方式。他们使用虚拟div,其样式设置与原始文本区域相同,并在用户键入文本时调整区域的高度。因此,起初“文本”区域可能很小,但是如果用户键入大量文本,它将自动增长以容纳内容。
While循环优化
您可以通过以下方法优化while循环,以大大减少迭代次数:
- 设置起始字体大小。
- 得到测试DIV的宽度。
- 计算orig_div和test_div之间的宽度因子。
- 以此大小调整字体大小,而不是增加/减少一个单位
- 测试test_div宽度



