我有一个固定的宽度和高度DIV,我需要把文字放在里面。 问题是,这个文本可以有不同的长度(字母方式),所以我不介意一旦它溢出就减小它的大小。
但我怎么能这样做?
由于
答案 0 :(得分:3)
如果您定位现代浏览器,则可以使用window.getComputedStyle
它返回应用于元素的所有真实样式属性的集合。
分配文本时,可以获取其大小并将其与div的大小进行比较。并减少或增加字体大小并再次测量。
在几个循环中,你应该得到DIV中的文本。
以下是说明:https://developer.mozilla.org/en/DOM:window.getComputedStyle
答案 1 :(得分:1)
长话短说,你不能这样做,因为各种平台和浏览器以不同的方式呈现字体。
并且,没有跨浏览器,跨平台的方法来计算字体的渲染尺寸。
Javascript“解决方案”是检查div
是否溢出,然后相应地提高其大小,类似
while (div.scrollHeight >= div.offsetHeight) {
div.style.height = (parseInt(fontSpan.style.fontSize) + 1) + 'px';
}