He creado una variante de https://stackoverflow.com/a/17845473/189411
donde se puede establecer el tamaño del texto min y max en relación de minutos y el tamaño máximo del cuadro que desea "cheque" de tamaño. Además, puede verificar el tamaño del elemento dom diferente del cuadro donde desea aplicar el tamaño del texto.
Cambia el tamaño de texto entre 19px y 25px de # tamaño-2 elemento, basado en 500 píxeles y 960 píxeles de anchura de # tamaño-2 elemento
resizeTextInRange(500,960,19,25,'#size-2');
Cambia el tamaño de texto entre 13px y 20px de # tamaño-1 elemento , basado en 500 píxeles y de 960 anchura de elemento de cuerpo
resizeTextInRange(500,960,13,20,'#size-1','body');
código completo hay https://github.com/kiuz/sandbox-html-js-css/tree/gh-pages/text-resize-in-range-of-text-and-screen/src
function inRange (x,min,max) {
return Math.min(Math.max(x, min), max);
}
function resizeTextInRange(minW,maxW,textMinS,textMaxS, elementApply, elementCheck=0) {
if(elementCheck==0){elementCheck=elementApply;}
var ww = $(elementCheck).width();
var difW = maxW-minW;
var difT = textMaxS- textMinS;
var rapW = (ww-minW);
var out=(difT/100)*(rapW/(difW/100))+textMinS;
var normalizedOut = inRange(out, textMinS, textMaxS);
$(elementApply).css('font-size',normalizedOut+'px');
console.log(normalizedOut);
}
$(function() {
resizeTextInRange(500,960,19,25,'#size-2');
resizeTextInRange(500,960,13,20,'#size-1','body');
$(window).resize(function() {
resizeTextInRange(500,960,19,25,'#size-2');
resizeTextInRange(500,960,13,20,'#size-1','body');
});
});
Nota importante: Debe agregar esto a su cabezal html. '' También puede usar 'max-width' en lugar de' max-device-width' para una sensación más 'receptiva'. – Sheharyar
@ user65165 ¿No entiendo lo que intentas decir? –