मैंने https://stackoverflow.com/a/17845473/189411 का एक संस्करण बनाया है
जहाँ आप मिनट और अधिकतम आकार के संबंध में न्यूनतम और अधिकतम पाठ आकार सेट कर सकते हैं, जो आपको "चेक" आकार चाहिए। इसके अलावा आप बॉक्स से अलग डोम तत्व के आकार की जाँच कर सकते हैं जहाँ आप पाठ आकार लागू करना चाहते हैं।
आप # आकार -2 तत्व पर आधारित 19px और 25px के बीच # आकार -2 तत्व पर पाठ का आकार बदलते हैं, और # आकार -2 तत्व की 960px चौड़ाई
resizeTextInRange(500,960,19,25,'#size-2');
आप # आकार -1 तत्व पर 13px और 20px के बीच, शरीर के तत्व की 500px और 960px चौड़ाई के आधार पर पाठ का आकार बदलते हैं
resizeTextInRange(500,960,13,20,'#size-1','body');
पूरा कोड है 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');
});
});
<meta name="viewport" content="width=device-width" />
इसके अलावा आप एक अधिक 'उत्तरदायी' अनुभवmax-width
केmax-device-width
लिए उपयोग कर सकते हैं ।