如何获取浏览器的最小字体大小?我写了下面的代码,使用二分查找。虽然它能正常工作,但我想知道是否存在标准或更有效的方法。
function getMinimumFontSize() {
var el = document.createElement('div');
document.body.appendChild(el);
el.innerHTML = "<div><p>a b c d e f g h i j k l m n o p q r s t u v w x y z</p></div>";
el.style.fontSize = '1px';
el.style.width = '64px';
var minimumHeight = el.offsetHeight;
var least = 0;
var most = 64;
var middle;
for (var i = 0; i < 32; ++i) {
middle = (least + most)/2;
el.style.fontSize = middle + 'px';
if (e.offsetHeight === minimumHeight) {
least = middle;
} else {
most = middle;
}
}
return middle;
}
仅仅设置样式并将其读取回来是不起作用的,因为它会返回设置而非浏览器实际使用的内容。我需要最小字体大小,以便可以动态重新调整内容大小,使所有内容都在一页上而无需滚动。如果浏览器忽略了我的字体大小更改,因为我已经低于最小值,那么对于这种情况,我将缩小其他内容,如图形。