Javascript div内可能的最大文本大小

Javascript div内可能的最大文本大小,javascript,html,css,Javascript,Html,Css,我正在寻找一种将div中的文本自动调整到最大大小的方法。最大尺寸是仍然适合div的最大尺寸 我知道在CSS中不可能做到这一点。是否可以使用javascript?您可以在纯javascript中使用这种技巧来自动调整字体大小: window.onload=函数{ var oDiv=document.getElementByIdDiv1; oDiv.style.overflow=auto;//适用于Firefox,但不会破坏其他浏览器 var-fontSize=14; var变化=0; var bl

我正在寻找一种将div中的文本自动调整到最大大小的方法。最大尺寸是仍然适合div的最大尺寸


我知道在CSS中不可能做到这一点。是否可以使用javascript?

您可以在纯javascript中使用这种技巧来自动调整字体大小:

window.onload=函数{ var oDiv=document.getElementByIdDiv1; oDiv.style.overflow=auto;//适用于Firefox,但不会破坏其他浏览器 var-fontSize=14; var变化=0; var blnsucess=true; 而oDiv.500{ //故障保护。。 blnsucess=false; 打破 } } 如果更改>0{ //失败时,恢复为原始字体大小: 如果成功 字体大小-=2; 其他的 字体大小-=变化; oDiv.style.fontSize=fontSize+px; } };

如果您知道的话,从的实际字体大小开始,否则最好使用较小的数字作为第一个数字

上述代码的工作原理是,当文本大于其容器的设置宽度时,scrollWidth属性(即实际宽度)将大于设置宽度


编辑:如果overflow CSS属性设置为其默认可见值,Firefox将不会更新scrollWidth属性,因此您必须将其设置为auto-代码正在为您执行此操作,但如果您愿意,也可以通过CSS进行设置。

您可以在纯JavaScript中使用此技巧自动调整字体大小:

window.onload=函数{ var oDiv=document.getElementByIdDiv1; oDiv.style.overflow=auto;//适用于Firefox,但不会破坏其他浏览器 var-fontSize=14; var变化=0; var blnsucess=true; 而oDiv.500{ //故障保护。。 blnsucess=false; 打破 } } 如果更改>0{ //失败时,恢复为原始字体大小: 如果成功 字体大小-=2; 其他的 字体大小-=变化; oDiv.style.fontSize=fontSize+px; } };

如果您知道的话,从的实际字体大小开始,否则最好使用较小的数字作为第一个数字

上述代码的工作原理是,当文本大于其容器的设置宽度时,scrollWidth属性(即实际宽度)将大于设置宽度


编辑:如果overflow CSS属性设置为其默认可见值,Firefox将不会更新scrollWidth属性,因此您必须将其设置为“自动”-代码可以为您执行此操作,但如果您愿意,也可以通过CSS进行设置。

自动调整文本大小是什么意思?默认情况下,文本将换行成几行,使用CSS,您可以选择隐藏和过多的文本。这是一个div。在本例中,它是仪表板小部件的div,包含未知数字的网站总访问者数。因为这是小部件显示的唯一一件事,我当然想让数字的大小尽可能大。你说的自动调整文本大小是什么意思?默认情况下,文本将换行成几行,使用CSS,您可以选择隐藏和过多的文本。这是一个div。在本例中,它是仪表板小部件的div,包含未知数字的网站总访问者数。因为这是小部件显示的唯一一件事,我当然想让数字尽可能大。非常感谢!这正是我要找的!你在使用firefox吗?在firefox中,while循环似乎是无限的,因为它表示脚本没有响应。这也发生在您的实时测试用例中。。仅在Chrome和IE9中测试。现在将与FF一起查看。谢谢您的帮助!对于那些想在“onresize”事件中使用此函数的人,请在while循环之前添加以下行,否则文本大小在需要时不会减小。oDiv.style.fontSize=fontSize+px;并添加oDiv.style.overflow=hidden;在函数底部去掉滚动条后重新调整大小非常感谢!这正是我要找的!你在使用firefox吗?在firefox中,while循环似乎是无限的,因为它表示脚本没有响应。这也发生在您的实时测试用例中。。仅在Chrome和IE9中测试。现在将与FF一起查看。谢谢您的帮助!对于那些想在“onresize”事件中使用此函数的人,请在while循环之前添加以下行,否则文本大小在需要时不会减小。oDiv.style.fontSize=fontSize+px;并添加oDiv.style.overflow=hidden;在函数的底部,在调整大小后去掉滚动条