【问题标题】:Javascript convert width and height to font-sizeJavascript将宽度和高度转换为字体大小
【发布时间】:2015-03-29 17:42:34
【问题描述】:

我不确定这个问题是否已经被问及回答,但我没有找到任何相关结果。

我想知道是否可以计算并将特定尺寸(宽度/高度)转换为 字体大小?

例如,我有:

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 );

                }

            });

        });

再次感谢。

【问题讨论】:

  • 如果您尝试计算字体大小以输入这些尺寸的文本,请查看this question。如果没有,我得不到你想要的。
  • 用户实际上是在 2 个输入字段中输入文本尺寸,宽度和高度。我想将这些信息转换为“可见结果”(文本的字体大小)。所以他们可以对他们的项目进行近似的视觉渲染。也许我忘了说这个网络界面中的一切都是成比例的,即使它可能无关紧要:)

标签: javascript font-size


【解决方案1】:

我为你的问题做了一个小界面:你输入一些文本的最大宽度和最大高度,它会自动计算字体的大小以适应文本: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()});

注意:fiddle中的timeout只是这里用动画来展示还原过程。

【讨论】:

  • 感谢您的回答。我怎样才能将其转换为将其用作脚本中任何我想要的函数?
  • 我做了我理解的你的问题。如果这不是你想要的,请说得更清楚。
猜你喜欢
  • 2015-10-16
  • 1970-01-01
  • 2017-06-10
  • 2016-07-06
  • 1970-01-01
  • 1970-01-01
  • 2018-06-24
  • 2017-12-08
  • 1970-01-01
相关资源
最近更新 更多