divmagic Make design
SimpleNowLiveFunMatterSimple
आधुनिक CSS के साथ उत्तरदायी टाइपोग्राफी: अत्यधिक मीडिया क्वेरी के बिना पठनीय इंटरफ़ेस बनाएं
Blogs›रिस्पॉन्सिव टाइपोग्राफी›आधुनिक CSS के साथ उत्तरदायी टाइपोग्राफी: अत्यधिक मीडिया क्वेरी के बिना पठनीय इंटरफ़ेस बनाएं
रिस्पॉन्सिव टाइपोग्राफी

आधुनिक CSS के साथ उत्तरदायी टाइपोग्राफी: अत्यधिक मीडिया क्वेरी के बिना पठनीय इंटरफ़ेस बनाएं

आधुनिक CSS के साथ रिस्पॉन्सिव टाइपोग्राफी: बिना अत्यधिक मीडिया क्वेरीज़ के फ्लूइड इंटरफेस

टाइपोग्राफी को उतनी ही स्वाभाविक रूप से अनुकूलित होना चाहिए जितना पानी एक बर्तन को भरता है। जैसे-जैसे व्यूपोर्ट हजारों डिवाइस आकारों में सिकुड़ते और विस्तारित होते हैं, आपका टेक्स्ट पठनीय, सुंदर और आनुपातिक रूप से संतुलित बना रहना चाहिए। फिर भी हममें से कई लोग अभी भी @media क्वेरीज़ के विशाल ब्लॉकों पर निर्भर हैं जो मनमाने ब्रेकपॉइंट्स पर छिड़के जाते हैं, एक नाजुक, उच्च-रखरखाव वाला दृष्टिकोण जो DX और दीर्घकालिक स्केलेबिलिटी दोनों पर दबाव डालता है।

आधुनिक CSS के साथ, आप गणितीय फ़ंक्शन, सापेक्ष इकाइयों, और फ़ॉन्ट-फेस रणनीतियों का उपयोग करके स्वाभाविक रूप से रिस्पॉन्सिव इंटरफेस तैयार कर सकते हैं जो अधिकांश मीडिया क्वेरी हस्तक्षेपों की आवश्यकता को समाप्त करते हैं। यह पोस्ट clamp() से लेकर फ्लूइड टाइप स्केल तक के ठोस तरीकों में गोता लगाती है, और दिखाती है कि DivMagic जैसे डेवलपर टूल किसी भी वेबसाइट से इन तकनीकों के वास्तविक दुनिया के उदाहरणों को कैप्चर करने में कैसे मदद करते हैं।

हाल ही में फ्रंट-एंड चिकित्सकों के सर्वेक्षण में, दो-तिहाई से अधिक ने clamp() के साथ आंतरिक स्केलिंग के पक्ष में ब्रेकपॉइंट-संचालित रीसाइज़िंग से दूर चले गए थे। शेष ~22% कैल्क समायोजन के साथ व्यूपोर्ट इकाइयों पर निर्भर हैं, जबकि विरासत मीडिया क्वेरी-केवल वर्कफ़्लो दस में से केवल एक कार्यान्वयन के लिए जिम्मेदार हैं।

टाइपोग्राफी के लिए मीडिया क्वेरीज़ कम क्यों पड़ती हैं

ब्रेकपॉइंट आपको चुनी हुई स्क्रीन चौड़ाई, जैसे 768px या 1024px पर सीमित नियंत्रण देते हैं, लेकिन उन बिंदुओं के बीच टाइप स्थिर रहता है। टैबलेट के लिए आकारित एक हेडिंग संकीर्ण 800px व्यूपोर्ट पर भारी लग सकती है, जबकि 1200px मॉनिटर पर तंग। यह "स्टेपवाइज़" स्केलिंग दृश्य असंततता पैदा करती है जो उस तरल, डिवाइस-अज्ञेय अनुभव को कमजोर करती है जिसकी उपयोगकर्ता आज उम्मीद करते हैं।

एक पारंपरिक दृष्टिकोण पर विचार करें:

h1 {
  font-size: 2.5rem;
}
@media (min-width: 768px) {
  h1 { font-size: 3rem; }
}
@media (min-width: 1200px) {
  h1 { font-size: 4rem; }
}

प्रत्येक ब्रेकपॉइंट के लिए मैन्युअल ट्यूनिंग की आवश्यकता होती है। इसे सभी हेडिंग स्तरों, बॉडी कॉपी, कैप्शन और माइक्रोकॉपी में गुणा करें, और आपकी स्टाइलशीट दोहराव वाले तर्क के साथ गुब्बारे की तरह फूल जाती है। डिज़ाइन सिस्टम विकसित होने पर रीफैक्टरिंग ओवरहेड बहुत बड़ा होता है।

टाइप के लिए मीडिया क्वेरीज़ का अत्यधिक उपयोग अक्सर असंगत अनुपात की ओर ले जाता है, एक हेडिंग ब्रेकपॉइंट पर 2rem से 3rem तक कूद सकती है, जो संकीर्ण स्क्रीन पर स्थापित लयबद्ध पैमाने को तोड़ देती है।

इसके विपरीत, आधुनिक फ्लूइड विधियाँ आपको एक एकल नियम परिभाषित करने देती हैं जो लगातार स्केल करता है, हर पिक्सेल पर सामंजस्य बनाए रखता है।

मुख्य टूलकिट: clamp(), व्यूपोर्ट इकाइयाँ, और calc()

तीन CSS विशेषताएँ फ्लूइड टाइपोग्राफी की रीढ़ बनाती हैं:

code, programming, hacking, html, web, data, design, development, program, website, information, business, software, digital, process, computer, application, binary, optimization, script, internet, coding, technology, code, code, code, programming, programming, programming, programming, hacking, hacking, web, data, data, website, website, website, business, software, software, software, process, application, internet, coding, coding, coding, coding, coding, technology

  • clamp(MIN, VAL, MAX)– एक केंद्रीय पसंदीदा मान चुनता है जो न्यूनतम और अधिकतम के बीच सीमित होता है। ऐसा आकार सेट करने के लिए उपयुक्त है जो व्यूपोर्ट के साथ बढ़ता है लेकिन पठनीयता सीमा से नीचे कभी नहीं जाता। -व्यूपोर्ट इकाइयाँ(vw, vh, vi, vb) – व्यूपोर्ट के आकार के सापेक्ष इकाइयाँ, प्रत्यक्ष आनुपातिकता सक्षम करती हैं। -calc()– कस्टम स्केलिंग फ़ॉर्मूले बनाने के लिए निरपेक्ष और सापेक्ष इकाइयों को जोड़ती है।

एक साथ, वे दर्जनों मीडिया क्वेरीज़ को एक एकल घोषणा के साथ बदल देते हैं। यह केवल एक डेवलपर पसंद नहीं है; यह सीधे कोड की कम पंक्तियों, कम रखरखाव और अधिक सुसंगत रेंडरिंग में अनुवाद करता है।

clamp() के साथ फ्लूइड फ़ॉन्ट आकार: एक चरण-दर-चरण मार्गदर्शिका

1. बेसिक क्लैम्प फ़ॉर्मूला

सिंटैक्स clamp(1rem, 2.5vw + 1rem, 3rem) इस प्रकार पढ़ा जाता है:

  • फ़ॉन्ट आकार सामान्य रूप से 2.5vw + 1rem होगा।
  • यह कभी भी 1rem (न्यूनतम) से नीचे नहीं सिकुड़ता।
  • यह कभी भी 3rem (अधिकतम) से ऊपर नहीं बढ़ता।
body {
  font-size: clamp(1rem, 0.5em + 1vw,2rem);
}

हमेशा एक स्केलेबल रूट फ़ॉन्ट-आकार शामिल करें (जैसे, 62.5% ट्रिक या उपयोगकर्ता-समायोजित डिफ़ॉल्ट) ताकि rem उपयोगकर्ता की प्राथमिकताओं के साथ विस्तारित हो। डिफ़ॉल्ट रूप से सुलभ।

2. पसंदीदा मान चुनना

मध्य अभिव्यक्ति स्केलिंग वक्र को चलाती है। क्षैतिज उपकरणों के लिए व्यूपोर्ट चौड़ाई (vw) का उपयोग करें या अंतर्राष्ट्रीयकृत लेआउट में तार्किक आयामों के लिए vi / vb का उपयोग करें। एक सामान्य विकल्प:

-रैखिक त्वरण: 2vw – सरल लेकिन बड़ी स्क्रीन पर बहुत आक्रामक हो सकता है।

  • नियंत्रित वृद्धि: 0.8vw + 0.5rem – वक्र को नरम करने के लिए एक बेसलाइन em मान जोड़ता है।
  • बारीक-ट्यून किया गया: फ्लूइड टाइपोग्राफी टूल का उपयोग करके एक आदर्श दर की गणना करें।

3. हेडिंग स्केल को सुसंगत बनाना

प्रत्येक हेडिंग को अलग-अलग क्लैम्प मान देने के बजाय, उन्हें एक मॉड्यूलर स्केल से बाँधें। उदाहरण के लिए, clamp(1rem, 1vw + 0.5rem, 1.25rem) के बॉडी आकार से शुरू करें और व्यवस्थित रूप से गुणा करें:

h1 { font-size: clamp(2.5rem, 5vw + 1rem, 6rem); }
h2 { font-size: clamp(2rem, 4vw + 0.8rem, 4rem); }
h3 { font-size: clamp(1.5rem, 3vw + 0.6rem, 2.5rem); }

मुख्य बात यह है कि प्रत्येक स्तर बॉडी से आनुपातिक रूप से स्केल होता है, अतिरिक्त ब्रेकपॉइंट के बिना ऊर्ध्वाधर लय को संरक्षित करता है।

Pie chart showing adoption rates of fluid typography techniques among developers: clamp() at 68%, viewport units at 22%, and media queries at 10%.

क्लैम्प के बिना फ्लूइड टाइपोग्राफी: व्यूपोर्ट-संचालित फ़ॉर्मूले

कुछ डिज़ाइनर एक पूरी तरह से निरंतर विकास मॉडल पसंद करते हैं जहाँ टेक्स्ट हमेशा विस्तारित होता है, यह भरोसा करते हुए कि बड़ी स्क्रीन वाले उपयोगकर्ता ज़ूम आउट करेंगे या कंटेनर सीमाएँ मौजूद हैं। अकेले व्यूपोर्ट इकाइयाँ या calc() के साथ संयुक्त यह कर सकते हैं:

laptop, notebook, cellphone, computer, desk, workspace, workplace, wireless technology, codes, coding, data, display, electronics, html, internet, keyboard, monitor, office, pen, screen, smartphone, technology, wireless, working, laptop, computer, coding, coding, coding, coding, coding

h1 {
  font-size: calc(1.5rem + 2vw);/* Never stops growing */
}

फोन पर सूक्ष्म टेक्स्ट और अल्ट्रावाइड मॉनिटर पर विशाल टेक्स्ट से बचने के लिए, min() या max() के साथ जोड़ें:

h1 {
  font-size: min(calc(1.5rem + 2vw), 5rem);/* Upper bound */
}

हालाँकि, clamp() आमतौर पर दोनों सीमाओं को एक साथ लागू करने के लिए साफ़ होता है।

एक DevSec समुदाय सर्वेक्षण में, एक आश्चर्यजनक 85% ने कहा कि आधुनिक CSS के साथ फ्लूइड स्केलिंग अपनाने के बाद उन्होंने रिस्पॉन्सिव टाइप समस्याओं को ठीक करने में कम समय बिताया। कारण: उन्होंने ओवरलैपिंग या लापता मीडिया क्वेरीज़ के कारण होने वाली बग्स की एक पूरी श्रेणी को हटा दिया।

फ़ॉन्ट-आकार से परे: फ्लूइड स्पेसिंग और लाइन हाइट

टाइपोग्राफी केवल फ़ॉन्ट-आकार के बारे में नहीं है। पठनीयता बनाए रखने के लिए लाइन हाइट, लेटर-स्पेसिंग और मार्जिन को आनुपातिक रूप से स्केल करना चाहिए। उसी क्लैम्प-और-व्यूपोर्ट कॉम्बो का उपयोग करें:

  • लाइन हाइट: line-height: clamp(1.4, 1.6, 1.8); – संकीर्ण कॉलम पर पढ़ना आसान।
  • पैराग्राफ के बीच मार्जिन: margin-bottom: clamp(0.75rem, 2vw, 1.5rem);
  • लेटर-स्पेसिंग: letter-spacing: clamp(0.5px, 0.1vw, 1.5px);

एक मजबूत फ्लूइड टाइप सिस्टम उसी तर्क को सभी टाइपोग्राफिक गुणों तक विस्तारित करता है, एक लयबद्ध, सामंजस्यपूर्ण गेस्टाल्ट बनाता है।

लाइन हाइट को फ्लूइड रूप से समायोजित करते समय, मोबाइल के लिए हमेशा एक उदार न्यूनतम सेट करें (जैसे, 1.45 या अधिक)। छोटी स्क्रीन पर कॉम्पैक्ट लाइन हाइट नाटकीय रूप से पठनीयता को कम कर देती हैं।

टाइपोग्राफी वेरिएंट: फ्लूइड वेरिएबल फ़ॉन्ट्स

वेरिएबल फ़ॉन्ट वज़न, चौड़ाई और ऑप्टिकल आकार अक्षों के निरंतर प्रक्षेप की अनुमति देते हैं। और भी समृद्ध रिस्पॉन्सिव व्यवहार के लिए उन्हें CSS फ़ंक्शन के साथ मिलाएं:

man, chair, computer, desk, sit, seated, electronics, indoors, lamp, laptop, room, workspace, home office, work from home, computer, desk, laptop, room, home office, home office, home office, home office, home office

@font-face {
  font-family: 'Inter-Variable';
  font-weight: 100 900;
  font-stretch: 75% 125%;
  src: url('Inter-Variable.woff2') format('woff2-variations');
}
body {
  font-optical-sizing: auto;
  font-variation-settings: 'wght' 400, 'wdth' 100, 'opsz' auto;
}
@media (min-width: 800px) {
  body {
    font-variation-settings: 'wght' 450, 'wdth' 105, 'opsz' auto;
  }
}

लेकिन हम फ्लूइड भी जा सकते हैं: 'wght' clamp(300, 400, 700) अभी तक सभी ब्राउज़रों में सीधे समर्थित नहीं है। इसके बजाय, एक वर्कअराउंड के लिए CSS कस्टम प्रॉपर्टी और कैल्क का उपयोग करें:

body {
  --weight-target: calc(300 + ((100vw - 320px) / 1200) * 400);/* scales between 300 and 700 based on viewport */
  font-variation-settings: 'wght' calc(clamp(300, var(--weight-target), 700);
}

यह वेरिएबल फ़ॉन्ट को स्थिर उदाहरणों से परे धकेलता है, पाठकों को उनके व्यूपोर्ट के सापेक्ष इष्टतम वज़न देता है, बिना किसी JavaScript की आवश्यकता के।

आधुनिक CSS आपको टाइपोग्राफी को सभी आयामों, आकार, स्पेसिंग, वज़न और ऑप्टिकल गुणों में एक तरल निरंतरता के रूप में मानने देता है, बिना एक भी मीडिया क्वेरी के।

एक पूर्ण फ्लूइड टाइप स्केल सिस्टम बनाना

डिज़ाइन-टोकन दृष्टिकोण अपनाने से स्थिरता सुनिश्चित होती है। एक टाइप स्केल (जैसे, मेजर थर्ड, परफेक्ट फोर्थ) परिभाषित करें और प्रत्येक चरण को एक फ्लूइड फ़ॉर्मूले के रूप में व्यक्त करें। Utopia प्रोजेक्ट ने इसे औपचारिक रूप दिया: न्यूनतम स्क्रीन चौड़ाई (मान लें 320px) और अधिकतम (मान लें 1440px) चुनें, फिर संबंधित न्यूनतम और अधिकतम फ़ॉन्ट-आकार सेट करें। परिणाम क्लैम्प मानों का एक सेट है जो उन चरम सीमाओं के बीच रैखिक रूप से प्रक्षेपित होता है।

यहाँ एक सरलीकृत प्रतिनिधित्व है:

StepMin Size (320px)Max Size (1440px)Clamp expression
-1 (small)0.75rem0.85remclamp(0.75rem,0.8rem + 0.5vw, 0.85rem)
0 (body)1rem1.25remclamp(1rem,1rem + 0.8vw,1.25rem)
1 (h4)1.25rem1.75remclamp(1.25rem,1.3rem + 1vw,1.75rem)
2 (h3)1.5rem2.5remclamp(1.5rem,1.5rem + 2vw,2.5rem)
3 (h2)2rem3.5remclamp(2rem,2rem + 3vw,3.5rem)
4 (h1)2.5rem5remclamp(2.5rem,2.5rem + 5vw,5rem)

इन फ़ॉर्मूलों को स्वचालित रूप से उत्पन्न करने के लिए, Utopia या Fluid Type Scale Calculator जैसे उपकरण गणित को संभालते हैं। लेकिन अक्सर आप यह जाँचना चाहते हैं कि लोकप्रिय साइटें फ्लूइड टाइपोग्राफी कैसे लागू करती हैं, वहीं DivMagic अमूल्य हो जाता है।

लाइव उदाहरणों से सीखना: फ्लूइड टाइपोग्राफी कैप्चर करने के लिए DivMagic का उपयोगलाइव वेबसाइटों पर टाइपोग्राफी निर्णयों को रिवर्स-इंजीनियर करना पहले एक मैनुअल काम हुआ करता था: DevTools खोलना, कंप्यूटेड स्टाइल्स खोजना, और विभिन्न व्यूपोर्ट्स पर क्लैम्प एक्सप्रेशन्स को ट्रेस करना। DivMagic इसे नाटकीय रूप से सरल बनाता है। एक ही क्लिक के साथ, ब्राउज़र एक्सटेंशन किसी भी वेबसाइट से किसी भी टेक्स्ट एलिमेंट की पूरी CSS रेसिपी निकालता है, जिसमें क्लैम्प फ़ंक्शन, वेरिएबल फ़ॉन्ट सेटिंग्स, और संबंधित स्पेसिंग शामिल हैं।

पैनलों के बीच टॉगल करने और मानसिक गणित करने के बजाय, आप सीधे एक प्रोडक्शन-रेडी फ्लूइड टाइप डिक्लेरेशन कॉपी करते हैं। यह डिज़ाइन सिस्टम ऑडिट को तेज़ करता है और आपको पुरस्कार-विजेता UI से फ्लूइड पैटर्न सीखने में मदद करता है। इसका उपयोग करके कैप्चर करें:

  • बाज़ार के नेताओं द्वारा उपयोग किए जाने वाले वास्तविक क्लैम्प मान
  • शीर्ष साइटें फ़ॉन्ट-साइज़ को कंटेनर चौड़ाई से कैसे जोड़ती हैं (cq यूनिट्स + क्लैम्प)
  • रॉ सोर्स पढ़े बिना जटिल वेरिएबल फ़ॉन्ट एक्सिस कॉन्फ़िगरेशन

DivMagic स्वच्छ, रीफैक्टरेबल CSS आउटपुट करता है जिसे आप अपने प्रोजेक्ट्स में पेस्ट कर सकते हैं। यह एक फ्लूइड टाइप लेआउट की प्रशंसा करने और उसे लागू करने के बीच की खाई को पाटने का सबसे तेज़ तरीका है।

कंटेनर क्वेरी यूनिट्स: रिस्पॉन्सिव टाइपोग्राफी का अगला स्तर

जबकि व्यूपोर्ट-आधारित फ्लूइड टाइपोग्राफी फुल-स्क्रीन लेआउट के लिए शानदार काम करती है, आधुनिक कंपोनेंट-आधारित आर्किटेक्चर कंटेनर क्वेरी यूनिट्स (cqw, cqi, cqb, आदि) से लाभान्वित होते हैं। ये यूनिट्स पूरे व्यूपोर्ट के बजाय पैरेंट कंटेनर के आकार के सापेक्ष होती हैं। यह एक कार्ड कंपोनेंट को स्टाइल करने की समस्या को हल करता है जो चौड़े मुख्य कॉलम और संकीर्ण साइडबार दोनों में दिखाई देता है; इसका टाइप स्क्रीन के बजाय अपने कंटेनर के अनुसार स्केल होना चाहिए।

.card {
  container-type: inline-size;
}
h2 {
  font-size: clamp(1rem, 0.5rem + 3cqi, 2rem);
}

कंटेनर क्वेरीज़ के लिए ब्राउज़र समर्थन 92% से अधिक है, जो इसे प्रोडक्शन-रेडी एन्हांसमेंट बनाता है। clamp() के साथ मिलकर, कंटेनर क्वेरी यूनिट्स टाइप के लिए लगभग सभी शेष मीडिया क्वेरी आवश्यकताओं को समाप्त कर देती हैं।

Bar chart comparing time spent on responsive typography adjustments: median of 4.5 hours for media-query approach, 1.2 hours for clamp() approach, and 0.8 hours for combined modern CSS approach.

समय की बचत ठोस है। आधुनिक CSS (क्लैम्प + कंटेनर-रिस्पॉन्सिव यूनिट्स) का उपयोग करने वाली टीमें 2024 UI इंजीनियरिंग सर्वेक्षण के अनुसार, टाइपोग्राफी के लिए प्रति प्रोजेक्ट 0.8 घंटे का माध्य सेटअप समय रिपोर्ट करती हैं, जबकि केवल मीडिया क्वेरी-आधारित पद्धतियों के लिए 4.5 घंटे। वे घंटे स्प्रिंट्स में तेज़ी से बढ़ते हैं।

एक्सेसिबिलिटी और प्रेफर्स-कंडीशन्स

फ्लूइड टाइपोग्राफी को अभी भी उपयोगकर्ता की प्राथमिकताओं का सम्मान करना चाहिए। ज़ूम रीस्केलिंग की अनुमति देने के लिए हमेशा अपनी गणनाओं को rem पर आधारित करें। गैर-आकार समायोजन के लिए prefers-reduced-motion और prefers-contrast मीडिया क्वेरीज़ को शामिल करें। आकार के लिए, prefers-[reduced-transparency]? नहीं, मुख्य बात यह है:

  • छोटे टेक्स्ट पर font-size-adjust: none का उपयोग करें ताकि मोबाइल ब्राउज़र आकार को अप्रत्याशित रूप से बढ़ाने से रोकें।
  • सुनिश्चित करें कि फ्लूइड रेंज में कंट्रास्ट अनुपात बना रहे।
  • 200% ज़ूम और व्यूपोर्ट-सीमित परिदृश्यों के साथ परीक्षण करें।

एक्सेसिबल फ्लूइड टाइप केवल न्यूनतम आकारों के बारे में नहीं है। बॉडी टेक्स्ट के लिए 12px से नीचे कभी न जाने वाली निचली सीमा की गारंटी के लिए clamp() का उपयोग करें (बेहतर होगा, 1rem = 16px डिफ़ॉल्ट रूप से) और सुनिश्चित करें कि लाइन हाइट छोटी स्क्रीन पर उदारतापूर्वक स्केल हो।

प्रदर्शन और सर्वोत्तम अभ्यास

CSS में फ्लूइड फ़ंक्शन ब्राउज़र इंजन द्वारा लेआउट समय पर गणना किए जाते हैं। वे JavaScript ओवरहेड नहीं जोड़ते और अत्यधिक अनुकूलित होते हैं। हालाँकि, क्लैम्प के अंदर अत्यधिक जटिल कैल्क एक्सप्रेशन से बचें, लेआउट जैंक से बचने के लिए दो-पद जोड़ या सरल गुणाओं पर टिके रहें।

साथ ही, स्केलेबल टोकन के लिए कस्टम प्रॉपर्टीज़ परिभाषित करने पर विचार करें:

:root {
  --fluid-min-width: 320;
  --fluid-max-width: 1440;
  --fluid-min-size: 1;
  --fluid-max-size:1.25;
  --fluid-ratio: calc((var(--fluid-max-size) - var(--fluid-min-size)) / (var(--fluid-max-width) - var(--fluid-min-width));
  --fluid-body: clamp(
    var(--fluid-min-size) * 1rem,
    (var(--fluid-min-size) *1rem + var(--fluid-ratio) * (100vw - var(--fluid-min-width) * 1px)),
    var(--fluid-max-size) *1rem
  );
}

इस एकल प्रॉपर्टी --fluid-body का उपयोग आपके पूरे CSS में किया जा सकता है, जिससे कस्टम प्रॉपर्टीज़ को बदलकर पूरी टाइप प्रणाली तुरंत समायोज्य हो जाती है।

ब्राउज़र संगतता और फॉलबैक

clamp(), min(), max(), और calc() को 93% से अधिक वैश्विक ब्राउज़र समर्थन प्राप्त है (StatCounter, प्रारंभिक 2024)। लीगेसी ब्राउज़रों के छोटे प्रतिशत के लिए, एक सरल फॉलबैक प्रदान करें:

h1 {
  font-size: 2rem; /* Fallback */
  font-size: clamp(2rem, 4vw +1rem,5rem);/* Overrides in supporting browsers */
}

क्योंकि CSS कैस्केड करता है, पुराने ब्राउज़र दूसरे नियम को अनदेखा करते हैं और पहले का उपयोग करते हैं। किसी JavaScript पॉलीफिल की आवश्यकता नहीं है। व्यूपोर्ट यूनिट्स और कंटेनर क्वेरी यूनिट्स के समान प्रगतिशील एन्हांसमेंट पथ हैं।

Line chart showing growth in browser support for CSS mathematical functions: calc() at 97%, min() at 94%, max() at 94%, and clamp() reaching 93% over the last three years.

CSS गणितीय फ़ंक्शन अब प्रयोगात्मक नहीं हैं। वे मौलिक प्रिमिटिव हैं जो सभी आधुनिक ब्राउज़रों के साथ आते हैं। IE11 के आधिकारिक रूप से सेवानिवृत्त होने के साथ, शेष अंतराल छोटे हैं और आमतौर पर फॉलबैक द्वारा सुचारू रूप से संभाले जाते हैं।

सब कुछ एक साथ रखना: एक पूर्ण फ्लूइड टाइप सिस्टम

नीचे नवीनतम सर्वोत्तम प्रथाओं से प्रेरित एक प्रोडक्शन-रेडी सेटअप है। संख्यात्मक मानों को अपने ब्रांड के टाइपोग्राफिक स्केल के अनुसार अनुकूलित करें।

/* Base configuration */
:root {
  --font-size-min:1;
  --font-size-max:1.25;
  --viewport-min: 320;
  --viewport-max: 1440;
  --slope: calc((var(--font-size-max) - var(--font-size-min)) / (var(--viewport-max) - var(--viewport-min)));
  --intercept: calc(var(--font-size-min) - var(--slope) * var(--viewport-min));
}

/* Fluid body font */
body {
  font-size:1rem; /* fallback */
  font-size: clamp(
    var(--font-size-min) *1rem,
    var(--intercept) *1rem + var(--slope) * 100vw,
    var(--font-size-max) *1rem
  );
  line-height: clamp(1.5, 1.8, 2);
  text-rendering: optimizeLegibility;
}

/* Headings use scaled versions */
h1 {
  --scale:2.5;
  font-size: clamp(
    calc(var(--font-size-min) * var(--scale) *1rem),
    calc(var(--intercept) * var(--scale) *1rem + var(--slope) * var(--scale) * 100vw,
    calc(var(--font-size-max) * var(--scale) *1rem)
  );
}

/* Container-responsive card titles */
.card {
  container-type: inline-size;
}
.card__title {
  font-size: clamp(1rem,0.8rem + 5cqi,2rem);/* cqi = inline-size percent */
}

यह दृष्टिकोण पुन: प्रयोज्य कस्टम प्रॉपर्टीज़ में पूरे फ्लूइड तर्क को समाहित करता है, जिससे डेवलपर त्रुटि नाटकीय रूप से कम होती है और वैश्विक शैली समायोजन सरल हो जाते हैं।

निष्कर्ष

ब्रेकपॉइंट्स पर फ़ॉन्ट आकारों को मैन्युअल रूप से समायोजित करने का युग समाप्त हो रहा है। आधुनिक CSS एक सुसंगत, घोषणात्मक उपकरणों का सेट प्रदान करता है, clamp(), व्यूपोर्ट और कंटेनर यूनिट्स, वेरिएबल फ़ॉन्ट्स, जो आपको टाइपोग्राफी को सीढ़ी के बजाय एक फ्लूइड ग्रेडिएंट के रूप में परिभाषित करने की अनुमति देते हैं। परिणाम अधिक पठनीय, रखरखाव योग्य, और एक्सेसिबल इंटरफेस हैं।

फ्लूइड टाइपोग्राफी केवल एक अच्छा-होना नहीं है; यह अब लचीले वेब डिज़ाइन के लिए एक अपेक्षा है।

DivMagic का उपयोग करके किसी भी साइट से वास्तविक दुनिया के फ्लूइड इम्प्लीमेंटेशन को कैप्चर करके, आप अपने सीखने और अपनाने को तेज़ कर सकते हैं। सही क्लैम्प मानों के बारे में सिद्धांत बनाने के बजाय, आप उन्हें सीधे उद्योग के नेताओं से निकालते हैं। वह फीडबैक लूप आधुनिक CSS टाइपोग्राफी को एक अवधारणा से रोज़मर्रा के अभ्यास में बदल देता है, और इसके लिए आपकी कल्पना से कहीं कम कोड की पंक्तियों की आवश्यकता होती है।

अपने स्वयं के प्रोजेक्ट्स का ऑडिट शुरू करें। उन कैस्केडिंग मीडिया क्वेरीज़ को हटाएं, उन्हें मुट्ठी भर फ्लूइड डिक्लेरेशन से बदलें, और अपने डिज़ाइनों को हर स्क्रीन पर सांस लेते देखें। उपकरण यहाँ हैं; समर्थन ठोस है; और उत्पादकता लाभ तत्काल हैं।

DivMagic के साथ आज ही निर्माण शुरू करें

किसी भी वेबसाइट से कोड कॉपी करने और अपने स्वयं के प्रोजेक्ट में इसका उपयोग करने के लिए 10,000+ डेवलपर्स, डिजाइनरों और व्यवसाय मालिकों से जुड़ें।

Get DivMagic for 42% off

Limited time deal for 22:45