प्रकाशित 2026-08-20 · लेखक MarkupGen टीम
Figma Breakpoints से CSS Media Queries: मैपिंग कैसे काम करती है

तुरंत जवाब: Figma में CSS जैसा built-in breakpoints का कॉन्सेप्ट नहीं है। डिज़ाइनर responsiveness को या तो हर screen size के लिए अलग फ्रेम बनाकर सिमुलेट करते हैं, या Auto Layout की fluid resizing (fill/hug) से, जिसे किसी media query की ज़रूरत ही नहीं पड़ती। डिज़ाइन में कौन-सा अप्रोच इस्तेमाल हुआ है, यही तय करता है कि CSS आउटपुट को explicit
@mediarules चाहिए या नहीं।
Figma में असल में breakpoints होते ही नहीं
इसे साफ कहना ज़रूरी है, क्योंकि यह एक आम गलतफहमी है: Figma में कोई native "यहाँ एक breakpoint सेट करो" फीचर नहीं है जो किसी CSS media query के बराबर हो। डिज़ाइनर असल में इसकी जगह जो करते हैं वह दो पैटर्न में बँटता है, और वे CSS में बहुत अलग तरीके से कन्वर्ट होते हैं।
पैटर्न 1: हर screen size के लिए अलग फ्रेम
पारंपरिक अप्रोच है desktop, tablet और mobile के लिए अलग-अलग फ्रेम — हर एक को उसकी अपनी width पर हाथ से लेआउट किया गया। यह सीधे explicit CSS breakpoints में मैप होता है: हर फ्रेम का लेआउट किसी संबंधित @media (min-width: ...) ब्लॉक के अंदर की styles बन जाता है, और डेवलपर का काम है यह तय करना कि असली breakpoint वैल्यूज़ कहाँ रखी जाएँ (फ्रेम widths से मैच करती हुई, या 768px/1024px जैसे स्टैंडर्ड breakpoints), क्योंकि Figma फ्रेम widths गोल-मोल डिज़ाइन फैसले हैं, CSS स्पेसिफिकेशन नहीं।
यह वह सही अप्रोच है जब अलग-अलग sizes के बीच लेआउट structurally अलग हों — सिर्फ reflow नहीं, बल्कि सच में अलग (जैसे एक sidebar जो bottom nav बन जाता है, या एक 3-column grid जो reordered content के साथ एक सिंगल column बन जाता है)।
पैटर्न 2: fluid Auto Layout resizing — अक्सर किसी media query की ज़रूरत ही नहीं
दूसरा पैटर्न Auto Layout के resizing व्यवहार पर निर्भर करता है — "fill container" और "hug contents" — जो हर width पर पूरा लेआउट दोबारा बनाने की बजाय एक ही फ्रेम पर सेट होता है। cards की एक row जो wrap करने और उपलब्ध space fill करने के लिए सेट है, एक sidebar जो "fill" main content area के बगल में फिक्स्ड width पर सेट है, ऐसा text जो किसी flexible container के अंदर नैचुरली reflow होता है — इनमें से किसी को भी breakpoint की ज़रूरत नहीं। यह वही CSS व्यवहार है जो flex-wrap, percentage widths और min-width/max-width आपको बिना एक भी @media rule के देते हैं।
यह बताना worth है क्योंकि generated CSS रिव्यू करने के लिए यह ज़्यादा वैल्यूएबल इनसाइट है: हर responsive डिटेल को media query नहीं बनना चाहिए। जो डिज़ाइन Auto Layout की fluid resizing पर निर्भर करता है, वह ऐसी CSS में कन्वर्ट होता है जो widths की एक रेंज में नैचुरली fluid है — इसके ऊपर explicit breakpoints जोड़ना आमतौर पर वह व्यवहार दोहराने वाला फालतू काम है जो लेआउट में पहले से मौजूद है।
हाथ से ट्रांसलेट करते वक्त आमतौर पर कहाँ गड़बड़ होती है
- जहाँ fluid CSS पहले से कवर कर रही है वहाँ भी breakpoints जोड़ना, जिसके नतीजे में डिज़ाइन को असल में ज़रूरत से ज़्यादा
@mediarules बन जाते हैं और एक ऐसी stylesheet जिसे मेंटेन करना लेआउट की ज़रूरत से कहीं ज़्यादा मुश्किल हो जाता है। - असली breakpoint मिस करना जब किसी डिज़ाइन में सच में एक structurally अलग mobile फ्रेम हो, और desktop लेआउट को ज़बरदस्ती किसी ऐसी चीज़ में reflow कराने की कोशिश करना जिसके लिए वह कभी डिज़ाइन ही नहीं किया गया था।
- मनमाने breakpoint pixel वैल्यूज़ चुनना जो न तो डिज़ाइन की अपनी फ्रेम widths से मैच करते हैं और न ही प्रोजेक्ट के मौजूदा breakpoint स्केल से, जिससे एक ऐसी one-off वैल्यू बन जाती है जो और किसी की CSS में इस्तेमाल नहीं होती।
MarkupGen इसे कैसे हैंडल करता है
Responsive व्यवहार फ्रेम की असली resizing constraints से जनरेट होता है, किसी अलग मैनुअल पास के तौर पर नहीं जोड़ा जाता — Auto Layout की fill/hug सेटिंग्स अपने-आप fluid CSS में ट्रांसलेट होती हैं, ऊपर बताया गया वही फर्क। जिन डिज़ाइन में सच में अलग mobile लेआउट मौजूद है (या किसी सिंगल desktop फ्रेम से जनरेट करना हो), MarkupGen एक अलग AI-generated mobile या desktop लेआउट बना सकता है — यह कैसे काम करता है, यह जानने के लिए Figma Responsive Design: Mobile और Desktop लेआउट कैसे तय होते हैं देखें। इस सबके पीछे मौजूद Auto Layout-to-Flexbox मैपिंग के लिए, Auto Layout to CSS देखें।
अपने डिज़ाइन पर आज़माएँ
यह देखने का सबसे तेज़ तरीका कि आपके अपने डिज़ाइन को असल में कौन-सा पैटर्न चाहिए, उसे इसमें से गुज़ारना और जनरेट हुई CSS में @media rules — या उनकी गैरमौजूदगी — चेक करना है। अपनी Figma फाइल पर MarkupGen फ्री में आज़माएँ, या इसमें क्या-क्या शामिल है यह जानने के लिए Figma to HTML converter पेज देखें।
