【问题标题】:How to make the font-size smaller based on the dynamic amount of characters inserted?如何根据插入的动态字符量使字体大小更小?
【发布时间】:2016-09-24 10:38:49
【问题描述】:

我正在尝试处理字符的动态数量上的字体大小,就像现在我有一组字体大小为:40px 的字符,在增加字符时,字体大小应该在空间内减小。

这是我的html代码:

<table width="620"><tr><td width="30%"></td><td ><span style="font-size:40px; font-size: 1.8vw; font-weight:bold;">BhairavPrasadVishwanatham</span><br/><span class="text-danger" style="text-align:center;font-weight:bold;font-size:20px;">VISITOR </span><br/><span class="h4 m-t-mini">XYZ</span><span class="clearfix text-center m-t-large"></span><br/><span class="h4 m-b-mini text-center">To See:</span><br/><span class="h3 text-bold m-b-small text-center">ABC</span><td></tr><tr><td></td><td><span class="clearfix"><br/><span style="font-size:16px;">Valid Thru: 26-05-2016</span><br/><br/></td></tr><td></td></tr></table>

现在我需要名称:BhairavprasadVishwanatham 应该根据输入的数字字符自动调整字体,例如:-

如果我输入的字符超过 9 个,则字体应缩小并适合 td。

【问题讨论】:

  • 首先,请对您的 HTML 进行格式化!其次,你尝试过什么?在我看来,你好像什么都没做……
  • 我已经格式化了你的 HTML,它似乎有几个问题。先解决这些问题。

标签: javascript jquery html css fonts


【解决方案1】:

向您的跨度添加一个类,例如:

<span class="h3 text-bold m-b-small text-center checkSize">ABC</span><td></tr><tr><td></td><td><span class="clearfix"><br/><span style="font-size:16px;">Valid Thru: 26-05-2016</span>

然后是 jquery:

$(".checkSize").each(function() {
    if ($(this).html().length > 20) $(this)..css( "font-size", '5px' )
});

【讨论】:

    【解决方案2】:

    快速脏的纯js解决方案

    <span class="decreaseFontSize">
        This is your text you want to reduce
    </span>
    <script>
    var el = document.querySelector('.decreaseFontSize');
    var text = el.innerText || el.textContent;
    var endFontSize = 40;
    if(text.length<9){
       endFontSize = 40;
    }
    if(text.length < 5){
       endFontSize = 20
    }
    ...
    el.style.fontSize = endFontSize+'px';
    </script>
    

    但是,您尝试实现的可能是使文本始终适合一行,并且不是根据字符数量而是根据字符宽度自动缩放(在所有非单型字体中,w 比 i 宽)。使用该普通图像可能会派上用场,假设保存为 svg 的文本将调整为适当的大小,但是您仍然需要估计字母的宽度。

    【讨论】:

      猜你喜欢
      • 2014-09-04
      • 2016-09-17
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 2020-12-07
      • 2018-02-14
      相关资源
      最近更新 更多