utilizo this plugin que hace en base a fitText.js, porque fitText no se ajusta a mis necesidades, debido a que no sé la longitud de las cadenas para cambiar el tamaño, por lo que el parámetro de ajuste de tamaño de fitText no funciona en todos los casos.
$.fn.adjustTextSize = function (set_max_size, min_size) {
min_size = min_size || 12; // if no value then set a default one
var string, width, line, initFontSize, returnFontSize, ratio;
return this.each(function() {
// Store the object
var $this = $(this);
var resizer = function() {
string = $this;
string.html('<span style="white-space: nowrap;">' + string.html() + '</span>');
width = string.width();
line = $(string.children('span'));
initFontSize = parseInt(string.css('font-size'));
ratio = width/line.width();
returnFontSize = initFontSize*ratio;
if (set_max_size && returnFontSize > initFontSize) {
returnFontSize = initFontSize;
}
if (min_size && returnFontSize < min_size) {
returnFontSize = min_size;
}
string.css('font-size',returnFontSize);
while (line.width() >= width) {
if (min_size && returnFontSize <= min_size) {
string.html(line.html());
return false;
}
string.css('font-size', --returnFontSize);
}
string.html(line.html());
}
// Call once to set.
resizer();
// Call on resize. Opera debounces their resize by default.
$(window).on('resize orientationchange', resizer);
});
};
$('.js-adjust-text').adjustTextSize(false, 12);
$('.js-adjust-text-limit').adjustTextSize(true, 30);
Este plugin obtener dos parámetros:
- set_max_size: booleanas para limitar el tamaño máximo de la fuente a su tamaño definido en CSS
- min_size: Número entero para limitar el tamaño de fuente mínimo.
Espero que funcione para su caso.
posible duplicado de [Javascript que ajusta automáticamente tamaño de fuente en el elemento para que el texto no se desborde? (autofit)] (http://stackoverflow.com/questions/1178651/javascript-that-automatically-sets-font-size-on-element-so-that-text-doesnt-ove) – Quentin
Esta es una pregunta duplicada aquí http://stackoverflow.com/questions/3840452/change-font-size-to-automatically-fit-divs-height-width – coder