我不确定这个问题是否已经被提出和回答,但我还没有找到任何相关结果。
我想知道是否可以计算特定尺寸(宽度/高度)并将其转换为
字体大小?
例如,我有:
var textWidth = 150;
var textHeight = 30;
我想从这些尺寸(像素)中获取字体大小?
编辑:谢谢dystroy,我终于在你的帮助下解决了这个问题。
我使用了发布的功能here之后,事情就不是很复杂了:
$(function(){
$( "#height, #width" ).keyup(function(){
var varHeight = $( "#height" ).val();
var varWidth = $( "#width" ).val();
if( varHeight != "" && varWidth != "" ){
$( "#text_container" ).css( "width", varWidth );
$( "#text_container" ).css( "height", varHeight );
$( "#text_container" ).textfill({ maxFontPixels: 500 });
var getFontsize = $( "#text_container > span" ).css( "font-size" );
var fontSize = parseInt( getFontsize.slice(0, -2) );
$( "#fontsize" ).val( fontSize );
}
});
});
再次感谢。
我为您的问题制作了一个小界面:您输入某些文本的最大宽度和最大高度,它会自动计算字体的大小以适应文本:http://jsfiddle.net/kPZ3E/
HTML :
Max width : <input id=width value=200> px
<br>Max height : <input id=height value=20> px
<br><br>
<table border=1><tr><td id=txtcell nowrap><span id=txt style=>Some sample text.</span></td></tr></table>
<br>Font Size : <span id=mes></span>
JS :
var fontSize = 100;
var reduce = function() {
$('#txt').css('font-size', fontSize);
$('#mes').html(fontSize);
if ($('#txt').width()>$('#width').val() || $('#txt').height()>$('#height').val()) {
fontSize -= 1;
reduce();
}
};
reduce();
$('#width, #height').change(function(){fontSize = 100;reduce()});
注意:小提琴中的超时仅用于用动画显示还原过程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)