Baseline एक अदृश्य क्षैतिज रेखा है जिस पर फ़ॉन्ट के सभी अक्षर स्थित होते हैं। अधिकांश अक्षर baseline पर खड़े होते हैं, जबकि descenders नीचे की ओर फैले होते हैं। मोबाइल इंटरफ़ेस में, baseline का उपयोग टेक्स्ट को अन्य तत्वों — आइकन, बटन, इमेज — के साथ सटीक संरेखण के लिए किया जाता है। Material Design Typography Guidelines (2025) के अनुसार, baseline के अनुरूप संरेखण इंटरफ़ेस की दृश्य पदानुक्रम में सुधार करता है और सामग्री को स्कैन करते समय संज्ञानात्मक भार को कम करता है।
मुख्य बातें
Baseline (आधार रेखा) टाइपोग्राफी की एक मूलभूत अवधारणा है जो क्षैतिज अक्ष को परिभाषित करती है जिस पर फ़ॉन्ट अक्षर स्थित होते हैं। डिजिटल फ़ॉन्ट में प्रत्येक ग्लिफ़ का baseline से एक लगाव बिंदु होता है — इसी रेखा के साथ टेक्स्ट प्रस्तुत करते समय अक्षर संरेखित होते हैं। अधिकांश छोटे अक्षर (अ, इ, उ, ए, ओ) सीधे baseline पर खड़े होते हैं, जबकि descenders (प, य, ग, ज जैसे अक्षरों में) नीचे की ओर फैले होते हैं।
आधार रेखा फ़ॉन्ट मीट्रिक में एकमात्र संदर्भ बिंदु नहीं है। इसके अतिरिक्त मौजूद हैं: x-height (छोटे अक्षरों की ऊँचाई), cap-height (बड़े अक्षरों की ऊँचाई), ascender-line (ऊपरी विस्तार तत्वों की रेखा) और descender-line (निचले विस्तार तत्वों की रेखा)। Baseline और descender-line के बीच की दूरी निचले descender को निर्धारित करती है, और baseline और ascender-line के बीच की दूरी ऊपरी ascender को। ये मीट्रिक पूर्ण पंक्ति ऊँचाई बनाते हैं और line-height की गणना को प्रभावित करते हैं।
Bringhurst — The Elements of Typographic Style (2024) के अनुसार, baseline एकमात्र सार्वभौमिक मीट्रिक है जो एक ही टाइपफ़ेस के सभी फ़ॉन्ट के लिए एक समान है। जहाँ x-height और cap-height एक शैली से दूसरी शैली में बदलते हैं, वहीं baseline फ़ॉन्ट के समन्वय ग्रिड के सापेक्ष एक स्थिर स्थिति बनाए रखता है। यह baseline को इंटरफ़ेस में अंतर-तत्व संरेखण के लिए एक विश्वसनीय संदर्भ बनाता है।
मोबाइल इंटरफ़ेस में, baseline का उपयोग गैर-पाठ्य तत्वों के साथ टेक्स्ट को संरेखित करने के लिए संदर्भ रेखा के रूप में किया जाता है। जब टेक्स्ट के बगल में कोई आइकन, बटन या इमेज रखा जाता है, तो उन्हें केंद्रित करना पर्याप्त नहीं होता — टेक्स्ट ऑप्टिकली स्थानांतरित दिखाई देता है यदि उसका baseline आसन्न घटक के केंद्र या baseline से मेल नहीं खाता।
एक सामान्य परिदृश्य सेटिंग सूची या नेविगेशन में आइकन और टेक्स्ट वाली पंक्ति है। यदि आइकन और टेक्स्ट को केंद्रित किया जाता है, तो टेक्स्ट दृश्य रूप से ऊँचा दिखाई देगा क्योंकि baseline कंटेनर के ज्यामितीय केंद्र से नीचे स्थित है। समाधान आइकन को टेक्स्ट baseline से संरेखित करना है। Material Design (2025) मोबाइल ऐप में सभी मिश्रित पंक्तियों के लिए इस दृष्टिकोण की सिफारिश करता है।
| परिदृश्य | केंद्र संरेखण | Baseline संरेखण |
|---|---|---|
| आइकन + टेक्स्ट | टेक्स्ट आइकन से ऊपर दिखता है | आइकन और टेक्स्ट baseline मेल खाते हैं |
| टेक्स्ट + टेक्स्ट | अलग-अलग आकार झटका पैदा करते हैं | एकल baseline, स्पष्ट पदानुक्रम |
| बटन के साथ टेक्स्ट | टेक्स्ट केंद्र से स्थानांतरित | टेक्स्ट ऑप्टिकली केंद्रित |
| शीर्षक + कैप्शन | पंक्तियों का दृश्य विराम | पंक्तियाँ लयबद्ध और जुड़ी हुई |
Baseline द्वारा ऑप्टिकल संरेखण विशेष रूप से स्क्रीन फ़ॉर्म के लिए महत्वपूर्ण है: इनपुट फ़ील्ड, लेबल और त्रुटि संदेश एक जटिल टाइपोग्राफिक ग्रिड बनाते हैं, और यहाँ तक कि 1–2 पिक्सेल का baseline विस्थापन भी धारणा को काफी ख़राब करता है।
iOS विकास में, baseline कई तंत्रों के माध्यम से समर्थित है, Auto Layout से लेकर SwiftUI लेआउट सिस्टम तक। UIKit में, आसन्न तत्वों के सापेक्ष टेक्स्ट स्थित करने के लिए .firstBaseline और .lastBaseline विशेषताओं के साथ NSLayoutConstraint का उपयोग किया जाता है। पहला एकल-पंक्ति टेक्स्ट के लिए उपयुक्त है, दूसरा बहु-पंक्ति टेक्स्ट के लिए जहाँ अंतिम पंक्ति महत्वपूर्ण है।
// UIKit: लेबल और आइकन को baseline द्वारा संरेखित करें
let label = UILabel()
label.text = "सेटिंग्स"
let icon = UIImageView(image: UIImage(systemName: "gear"))
let constraint = label.lastBaselineAnchor
.constraint(equalTo: icon.lastBaselineAnchor)
constraint.isActive = true
SwiftUI में, baseline संरेखण कस्टम AlignmentGuide के माध्यम से कार्यान्वित किया जाता है। डिफ़ॉल्ट रूप से, SwiftUI तत्वों को केंद्र में संरेखित करता है, लेकिन आइकन के साथ टेक्स्ट लेबल के लिए, baseline अधिक सटीक परिणाम देता है। SwiftUI अंतर्निहित VerticalAlignment.firstTextBaseline और .lastTextBaseline प्रदान करता है।
// SwiftUI: HStack में baseline संरेखण
HStack(alignment: .firstTextBaseline) {
Image(systemName: "gear")
Text("सेटिंग्स")
.font(.title3)
}
Apple HIG — Typography (2025) के अनुसार, SwiftUI में firstTextBaseline का उपयोग केंद्र संरेखण की तुलना में मैन्युअल पैडिंग समायोजन को 40% कम करता है। यह विशेष रूप से डायनामिक टाइप वाली सूचियों में ध्यान देने योग्य है, जहाँ उपयोगकर्ता की एक्सेसिबिलिटी सेटिंग के अनुसार फ़ॉन्ट आकार बदलता है।
Baseline मान फ़ॉन्ट API के माध्यम से प्राप्त किया जा सकता है। UIKit में, गुण UIFont.ascender baseline से पंक्ति के शीर्ष तक की दूरी लौटाता है, और UIFont.descender baseline से नीचे तक की दूरी (ऋणात्मक मान) लौटाता है। ascender और descender का योग, leading को ध्यान में रखते हुए, पूर्ण पंक्ति ऊँचाई देता है।
let font = UIFont.systemFont(ofSize: 17)
let baseline = font.ascender // baseline से शीर्ष तक की दूरी
let descent = font.descender // ऋणात्मक, baseline के नीचे
let totalHeight = font.lineHeight // पूर्ण पंक्ति ऊँचाई
Android विकास में, baseline क्लासिक View सिस्टम और Jetpack Compose दोनों में समर्थित है। View सिस्टम में, baseline संरेखण के लिए ALIGN_BASELINE और ALIGN_TOP नियमों के साथ RelativeLayout.LayoutParams का उपयोग किया जाता है। TextView के लिए android:baselineAligned विशेषता उपलब्ध है, जो LinearLayout में टेक्स्ट तत्वों के स्वचालित संरेखण को नियंत्रित करती है।
<!-- Android XML: baseline alignment in LinearLayout -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:baselineAligned="true">
<TextView
android:id="@+id/label"
android:text="Price"
android:textSize="16sp" />
<TextView
android:id="@+id/value"
android:text="$24.99"
android:textSize="20sp"
android:layout_alignBaseline="@id/label" />
</LinearLayout>
Jetpack Compose में, baseline संरेखण Modifier.alignWithBaseline या कस्टम लेआउट में AlignmentLine के माध्यम से कार्यान्वित किया जाता है। Compose अंतर्निहित FirstBaseline और LastBaseline प्रदान करता है, जिनका उपयोग Column और Row में विभिन्न आकारों के टेक्स्ट तत्वों को संरेखित करने के लिए किया जा सकता है।
// Jetpack Compose: Modifier के माध्यम से baseline संरेखण
Row(
verticalAlignment = Alignment.FirstBaseline
) {
Icon(
imageVector = Icons.Default.Settings,
contentDescription = null
)
Text(
text = "सेटिंग्स",
style = MaterialTheme.typography.titleMedium
)
}
Android Developers — Typography and Alignment (2025) के अनुसार, Jetpack Compose में baseline संरेखण मैन्युअल रूप से पैडिंग या ऑफ़सेट सेट करने की तुलना में टेक्स्ट के गलत स्थिति से संबंधित UI-परीक्षण बग को 30% कम करता है।
Flutter आधार रेखा के साथ काम करने के लिए दो अंतर्निहित तंत्र प्रदान करता है: टाइपोग्राफ़िक परंपरा (alphabetic या ideographic) चुनने के लिए TextBaseline एनम और Row और Column में संरेखण के लिए CrossAxisAlignment.baseline। TextBaseline.alphabetic पश्चिमी टाइपोग्राफी से मेल खाता है, जबकि TextBaseline.ideographic पूर्वी एशियाई टाइपोग्राफी से मेल खाता है।
// Flutter: baseline संरेखण
Row(
crossAxisAlignment: CrossAxisAlignment.baseline,
textBaseline: TextBaseline.alphabetic,
children: [
Icon(Icons.settings),
Text('सेटिंग्स', style: TextStyle(fontSize: 20)),
],
)
सटीक स्थिति के लिए, Flutter Baseline विजेट भी प्रदान करता है, जो चाइल्ड तत्व को इस प्रकार स्थानांतरित करता है कि उसका baseline कंटेनर के शीर्ष से एक निर्दिष्ट दूरी पर हो। यह गैर-मानक संरेखण के साथ कस्टम टेक्स्ट लेआउट बनाते समय उपयोगी है।
// Flutter: Baseline विजेट
Baseline(
baseline: 40.0,
baselineType: TextBaseline.alphabetic,
child: Text(
'संरेखित पाठ',
style: TextStyle(fontSize: 24),
),
)
Flutter Documentation — Layout and Typography (2025) के अनुसार, CrossAxisAlignment.baseline मैन्युअल रूप से पैडिंग की गणना किए बिना Flutter में विभिन्न फ़ॉन्ट आकारों के टेक्स्ट को सटीक रूप से संरेखित करने का एकमात्र तरीका है। यह विशेष रूप से उन पंक्तियों के लिए महत्वपूर्ण है जहाँ शीर्षक और कैप्शन मिश्रित होते हैं, जैसे मूल्य और छूट वाले उत्पाद कार्ड में।
सबसे आम गलतियों में से एक आइकन या इमेज वाली पंक्तियों में टेक्स्ट को केंद्रित करना है। जब आइकन और टेक्स्ट को कंटेनर के अंदर केंद्रित किया जाता है, तो टेक्स्ट दृश्य रूप से आइकन के सापेक्ष ऊपर की ओर स्थानांतरित हो जाता है। ऐसा इसलिए होता है क्योंकि टेक्स्ट का केंद्र उसके baseline से ऊपर होता है, जबकि आइकन का केंद्र ज्यामितीय केंद्र से मेल खाता है।
NN Group — Typography in UI Design (2025) के अनुसार, गलत baseline संरेखण उपयोगकर्ता द्वारा सूची स्कैन करने के समय को सही ढंग से संरेखित इंटरफ़ेस की तुलना में 22% बढ़ा देता है। यह सूचियों और फ़ॉर्मों के लिए एक महत्वपूर्ण मीट्रिक है जो अधिकांश मोबाइल ऐप का आधार बनते हैं।
अक्सर पूछे जाने वाले प्रश्न
Baseline वह क्षैतिज रेखा है जिस पर अक्षर स्थित होते हैं, जबकि line-height दो क्रमिक पंक्तियों की आधार रेखाओं के बीच की दूरी है। Baseline ऊर्ध्वाधर स्थान में टेक्स्ट की स्थिति निर्धारित करता है, जबकि line-height अंतर-पंक्ति लय निर्धारित करता है। दोनों अवधारणाएँ परस्पर संबंधित हैं: line-height की गणना एक पंक्ति के baseline से अगली पंक्ति के baseline तक की जाती है।
UIKit में, baseline मान UILabel, UITextView और UIButton के lastBaselineAnchor या firstBaselineAnchor गुण के माध्यम से प्राप्त किया जा सकता है। फ़ॉन्ट मीट्रिक तक सीधी पहुँच के लिए, UIFont.ascender (baseline से शीर्ष तक की दूरी) और UIFont.descender (baseline से नीचे तक की दूरी, ऋणात्मक चिह्न के साथ) का उपयोग करें।
हाँ, SwiftUI डायनामिक टाइप (Dynamic Type) के साथ baseline संरेखण का समर्थन करता है। .firstTextBaseline और .lastTextBaseline के माध्यम से संरेखण स्वचालित रूप से फ़ॉन्ट आकार परिवर्तन के अनुकूल हो जाता है। यह फ़ॉन्ट आकार बढ़ने पर मैन्युअल पैडिंग समायोजन की आवश्यकता के बिना सही टेक्स्ट स्थिति प्रदान करता है।
Jetpack Compose में, Row के verticalAlignment पैरामीटर में Alignment.FirstBaseline का उपयोग करें: Row(verticalAlignment = Alignment.FirstBaseline)। इस Row में रखे गए Icon और Text के लिए, Compose स्वचालित रूप से उनकी आधार रेखाओं को संरेखित करेगा। यदि आपको आइकन को अधिक सटीक रूप से समायोजित करने की आवश्यकता है, तो Modifier.alignWithBaseline का उपयोग करें।
कस्टम फ़ॉन्ट के अपने मीट्रिक होते हैं: ascender, descender और x-height, जो सिस्टम फ़ॉन्ट से भिन्न हो सकते हैं। यदि baseline संरेखण अशुद्ध परिणाम देता है, तो प्लेटफ़ॉर्म API (iOS में UIFont.descender, Android में Paint.getFontMetrics()) के माध्यम से फ़ॉन्ट मीट्रिक की जाँच करें। सजावटी फ़ॉन्ट के लिए अतिरिक्त 1–2 पिक्सेल समायोजन की आवश्यकता हो सकती है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें