← सभी लेख

Mobile first design क्या है और इसे कैसे अपनाएँ

कंटेंट, लेआउट और CSS के लिए mobile first डिज़ाइन का मतलब, desktop first से फ़र्क़, CSS का पूरा उदाहरण और आम ग़लतियाँ।

Mobile first डिज़ाइन का मतलब है सबसे छोटी स्क्रीन के लिए पहले डिज़ाइन करना और बनाना, फिर जैसे-जैसे जगह बढ़े, लेआउट और फ़ीचर जोड़ते जाना। CSS में इसका मतलब है कि डिफ़ॉल्ट स्टाइल फ़ोन का लेआउट होती हैं, और min-width वाली media queries बड़ी स्क्रीन के लिए कॉलम और बाक़ी चीज़ें जोड़ती हैं। यह तरीका आपको तय करने पर मजबूर करता है कि सबसे ज़रूरी क्या है, और आम तौर पर उन विज़िटर के लिए हल्के, तेज़ पेज बनाता है जिनके पास सबसे कम बैंडविड्थ और सबसे छोटी स्क्रीन है।

डिज़ाइन प्रक्रिया के रूप में mobile first

यह विचार, जिसे डिज़ाइनर Luke Wroblewski ने 2009–2011 के आसपास लोकप्रिय बनाया, कोड से पहले प्राथमिकताओं के बारे में है। फ़ोन की स्क्रीन पर बिना स्क्रॉल किए एक हेडलाइन, एक वाक्य और एक एक्शन आता है। पहले इसी जगह के लिए डिज़ाइन करने से आपको तय करना पड़ता है:

  • पेज पर सबसे अहम एक एक्शन कौन-सा है
  • कौन-सा कंटेंट ज़रूरी है और कौन-सा सिर्फ़ सजावट
  • जब सिर्फ़ एक कॉलम हो, तो चीज़ें किस क्रम में आएँ

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

Mobile first बनाम desktop first CSS

एक ही लेआउट दोनों दिशाओं में लिखा जा सकता है।

Desktop first चौड़े लेआउट को डिफ़ॉल्ट लिखता है और max-width queries से चीज़ें हटाता है:

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }

@media (max-width: 1023px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
  .cards { grid-template-columns: 1fr; gap: 1rem; }
}

Mobile first एक कॉलम वाले लेआउट को डिफ़ॉल्ट लिखता है और min-width queries से चीज़ें जोड़ता है:

.cards { display: grid; gap: 1rem; }

@media (min-width: 640px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .cards { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}

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

फ़्रेमवर्क भी यही दिखाते हैं: Tailwind CSS और Bootstrap दोनों में बिना prefix वाली classes हर साइज़ पर लागू होती हैं, और breakpoint वाले prefix “इस चौड़ाई से ऊपर” लागू होते हैं।

Mobile first का मतलब परफ़ॉर्मेंस भी है

कमज़ोर कनेक्शन वाले फ़ोन को वह डाउनलोड नहीं करना चाहिए जिसकी ज़रूरत सिर्फ़ डेस्कटॉप को है। असल में:

  • डिफ़ॉल्ट रूप से छोटी इमेज भेजें और बड़ी इमेज srcset से
  • मैप, वीडियो बैकग्राउंड और बड़े carousel जैसे भारी कंपोनेंट तभी लोड करें जब ज़रूरत हो
  • सिर्फ़ डेस्कटॉप वाले फ़ीचर का JavaScript शुरुआती bundle से बाहर रखें

Google पेजों का मोबाइल वर्शन इंडेक्स करता है, इसलिए सर्च इंजन भी मोबाइल अनुभव को ही परखते हैं। नतीजा मापने के बारे में मोबाइल पेज स्पीड टेस्ट गाइड में लिखा है।

असली प्रोजेक्ट में mobile first कैसे अपनाएँ

  1. पहले कंटेंट की प्राथमिकता लिखें। किसी भी विज़ुअल डिज़ाइन से पहले पेज के कंटेंट को प्राथमिकता के क्रम में एक कॉलम के रूप में लिखें।
  2. 360–390 px का लेआउट डिज़ाइन करें। इस्तेमाल में आने वाले ज़्यादातर फ़ोन 360 से 440 CSS पिक्सेल चौड़े हैं।
  3. स्वाभाविक breakpoints पर फैलाएँ। कैनवस को तब तक चौड़ा करें जब तक लेआउट खिंचा हुआ न लगे, और वहीं breakpoint जोड़ें। आम वैल्यू रिस्पॉन्सिव breakpoints गाइड में हैं।
  4. CSS भी इसी क्रम में लिखें। फ़ोन के लिए बुनियादी स्टाइल, बाक़ी के लिए min-width queries।
  5. बनाते समय ही फ़ोन साइज़ पर टेस्ट करें, आख़िर में नहीं। Chrome में खुला मोबाइल व्यू इसे आसान बनाता है। DevTools का device mode चलेगा, या एक-क्लिक मोबाइल व्यू एक्सटेंशन, जो पेज बदलने पर भी फ़ोन का फ़्रेम चालू रखता है।

Mobile first डिज़ाइन की आम ग़लतियाँ

  • सिर्फ़ CSS में mobile first। अगर डिज़ाइन डेस्कटॉप पर तैयार हुआ था, तो CSS को mobile first लिखने से कंटेंट की प्राथमिकता वाली समस्या हल नहीं होती।
  • “मोबाइल” को एक ही साइज़ मानना। 360 px और 440 px के फ़ोन में 20% का फ़र्क़ है। दोनों टेस्ट करें, landscape भी।
  • कंटेंट को दोबारा व्यवस्थित करने के बजाय छिपाना। अगर कोई कंटेंट फ़ोन पर दिखाने लायक़ नहीं है, तो सोचें कि क्या वह कहीं भी दिखाने लायक़ है।
  • बड़ी स्क्रीन पर touch भूल जाना। टैबलेट और touch लैपटॉप डेस्कटॉप लेआउट दिखाते हैं, लेकिन उनमें hover नहीं होता। सिर्फ़ hover वाले सुधारों के लिए @media (hover: hover) इस्तेमाल करें।
  • Mobile first, desktop सबसे आख़िर में। चौड़ी स्क्रीन पर भी ध्यान चाहिए: बहुत लंबी टेक्स्ट लाइनें और खिंची हुई इमेज उसी प्रक्रिया की डेस्कटॉप वाली नाकामी हैं।

अक्सर पूछे जाने वाले सवाल

Mobile first और रिस्पॉन्सिव डिज़ाइन में क्या फ़र्क़ है?

रिस्पॉन्सिव डिज़ाइन लक्ष्य है: एक ही साइट जो हर स्क्रीन के हिसाब से ढले। Mobile first वहाँ तक पहुँचने का एक तरीका है, जो सबसे छोटी स्क्रीन से शुरू होता है। देखें रिस्पॉन्सिव वेब डिज़ाइन क्या है।

क्या हमेशा min-width media queries इस्तेमाल करनी चाहिए?

ज़्यादातर लेआउट के लिए हाँ। max-width queries छोटे अपवादों के लिए अब भी काम की हैं, जैसे कोई बदलाव जो सिर्फ़ एक चौड़ाई से नीचे लागू हो।

क्या 2026 में भी mobile first डिज़ाइन मायने रखता है?

हाँ। ज़्यादातर साइटों के वेब ट्रैफ़िक का बड़ा हिस्सा फ़ोन से आता है, और Google पेजों का मोबाइल वर्शन इंडेक्स करता है। मोबाइल से शुरू करने से इन विज़िटर को आपकी साइट का अधूरा वर्शन नहीं मिलता।

अपनी अगली वेबसाइट को मोबाइल व्यू में देखें।

मोबाइल व्यू Chrome एक्सटेंशन जोड़ें और जिस टैब पर आप काम कर रहे हैं, उसी के डिवाइस प्रीव्यू खोलें।