我有一个固定大小的 html div 和一个用于输入文本的附加 HTML 输入框。然后此文本将显示在 div 中。
我希望文本始终居中,并且始终是字符串中字符数可能的最大尺寸。
我想出了一个工作原型,但效果不太好。文本的大小并不总是正确的。
function bindText(readElement, writeElement, extra){
//the text from the input form triggered by onkeyup event
var textStr = document.getElementById(readElement).value;
//the div to write the text to
var element = document.getElementById(writeElement);
//the major part of the function that I have just brute forced to try and work out
if(textStr.length > 0){
//check the length of the string
if(textStr.length > 8 && textStr.length < 12){
//set a the font size accordingly
element.style.fontSize = 150;
}
//same again
if(textStr.length >= 12 && textStr.length < 16){
element.style.fontSize = 120;
}
if(textStr.length >= 16 && textStr.length < 20){
element.style.fontSize = 100;
}
if(textStr.length >= 20 && textStr.length < 25){
element.style.fontSize = 80;
}
if(textStr.length >= 25 && textStr.length < 32){
element.style.fontSize = 55;
}
if(textStr.length >= 32 && textStr.length < 40){
element.style.fontSize = 50;
}
if(textStr.length >= 40 && textStr.length < 50){
element.style.fontSize = 45;
}
if(textStr.length >= 76){
element = textStr.splice(0, 75);
}
}
}
有没有更优雅的解决方案来获得更一致的结果。?
提前致谢