我正在寻找一种方法来一个div中的文本自动调整至其最大尺寸。最大尺寸是可能的最大尺寸,同时仍然适合div。最大文本大小可能里面的div
我知道这是不可能做到这一点的CSS。是否可以使用JavaScript?
我正在寻找一种方法来一个div中的文本自动调整至其最大尺寸。最大尺寸是可能的最大尺寸,同时仍然适合div。最大文本大小可能里面的div
我知道这是不可能做到这一点的CSS。是否可以使用JavaScript?
可以在纯JavaScript中使用这样的伎俩 “自动调整” 字体大小:
window.onload = function() {
var oDiv = document.getElementById("Div1");
oDiv.style.overflow = "auto"; //for Firefox, but won't ruin for other browsers
var fontSize = 14;
var changes = 0;
var blnSuccess = true;
while (oDiv.scrollWidth <= oDiv.clientWidth) {
oDiv.style.fontSize = fontSize + "px";
fontSize++;
changes++;
if (changes > 500) {
//failsafe..
blnSuccess = false;
break;
}
}
if (changes > 0) {
//upon failure, revert to original font size:
if (blnSuccess)
fontSize -= 2;
else
fontSize -= changes;
oDiv.style.fontSize = fontSize + "px";
}
};
开始与<div>
的实际字体大小,如果你知道它,否则最好使用数量较少的第一个号码。
上述代码的工作原理是,当文本大于其容器的设置宽度时,“实际”宽度的scrollWidth
属性将大于设置的宽度。
编辑:如果overflow
CSS属性被设置为默认“看得见”的价值 Firefox将不会更新scrollWidth
属性,因此必须将其设置为“自动” - 这个代码是干什么的你,但如果您愿意,也可以通过CSS设置它。
你的意思是“自动调整文本大小?默认情况下,文本将换行到几行,并使用CSS,你可以选择隐藏和”过度“文本.. –
这是一个'div'(在这种情况下,'div'一个Dashboard widget工具包含一个数字(网站的访问者占访问者总数)有数目不详的数字。因为那是小部件显示我要让数量大的可能(大小ofcourse)唯一的)。 – Boyd