自动调整文本以适合div (宽度& ) 高度)(范例)
学以致用
・2 分钟阅读
所以,我在CoffeeScript中编写这个简单的函数,测试文本溢出了div,但是它会自动减小它的大小,直到合适!
函数查找用.resize
类标记的元素,并且只调整它们的大小。
很简单不是吗?
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;
};
你可以在JSFiddle上找到一个示例: http://jsfiddle.net/mn4rr/1/
你还可以在Github上进行贡献: https://gist.github.com/iam4x/5015270
玩得开心 !