如何实现文本宽高自适应div

不言
不言 原创
2018-11-06 14:42:02 2062浏览

在这里给大家分享一篇如何实现文本宽高自适应div的文章,有需要的朋友可以参考一下。

在尝试了几个JavaScript代码段和用于将文本拟合到div中的库之后,我感到有些难受,因为这些都没有处理DIV的“高度”,文本可能会溢出......

所以我在CoffeeScript中编写了这个简单的函数,它测试文本是否溢出div并且它将减小它的大小直到它适合!

函数查找带有.Resig类标记的元素,并仅调整它们的大小。

autoSizeText = ->
    elements = $('.resize')
    console.log elements    return if elements.length < 0

    for el in elements      do (el) ->

        resizeText = ->
          elNewFontSize = (parseInt($(el).css('font-size').slice(0, -2)) - 1) + 'px'
          $(el).css('font-size', elNewFontSize)

        resizeText() while el.scrollHeight > el.offsetHeight

这是JavaScript编译版本:

var autoSizeText;autoSizeText = function() {
  var el, elements, _i, _len, _results;
  elements = $('.resize');
  console.log(elements);
  if (elements.length < 0) {
    return;
  }
  _results = [];
  for (_i = 0, _len = elements.length; _i < _len; _i++) {
    el = elements[_i];
    _results.push((function(el) {
      var resizeText, _results1;
      resizeText = function() {
        var elNewFontSize;
        elNewFontSize = (parseInt($(el).css('font-size').slice(0, -2)) - 1) + 'px';
        return $(el).css('font-size', elNewFontSize);
      };
      _results1 = [];
      while (el.scrollHeight > el.offsetHeight) {
        _results1.push(resizeText());
      }
      return _results1;
    })(el));
  }
  return _results;};

以上就是如何实现文本宽高自适应div的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。