Utworzyłem wariant https://stackoverflow.com/a/17845473/189411
którym można ustawić minimalną i maksymalną wielkość tekstu w związku z min i max wielkości pudełka, które chcesz „check” rozmiar. Ponadto możesz sprawdzić rozmiar elementu domowego innego niż pole, w którym chcesz zastosować rozmiar tekstu.
zmienić rozmiar tekstu pomiędzy 19px i 25px na # size-2 elementu, na podstawie 500px i 960px szerokości # wielkości-2 elementu
resizeTextInRange(500,960,19,25,'#size-2');
zmienić rozmiar tekstu pomiędzy 13px i 20 pikseli na # size-1 elementu , oparty na 500px i 960px szerokości elementu body
resizeTextInRange(500,960,13,20,'#size-1','body');
kompletny kod istnieją 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');
});
});
Ważna uwaga: musisz dodać to do swojego html head. '' Możesz również użyć 'max-width' zamiast' max-device-width' dla uzyskania bardziej "responsywnego" wrażenia. – Sheharyar
@ user65165 Nie dostałem tego, co próbujesz powiedzieć? –