- CSS Flexbox Playground एक सीखने का टूल है जिसमें Flexbox properties को real time में बदलकर layout में होने वाले बदलाव देखे जा सकते हैं
- controls को adjust करने पर flex settings का screen layout पर असर तुरंत compare किया जा सकता है
- डिफ़ॉल्ट उदाहरण
display: flex, flex-direction: row, justify-content: space-around, align-items: flex-start, flex-wrap: nowrap के संयोजन से शुरू होता है
- स्क्रीन पर
1 से 5 तक के items settings बदलने के अनुसार move करते हैं, जिससे layout result को आँखों से आसानी से समझा जा सकता है
- generate हुआ CSS code copy किया जा सकता है, इसलिए प्रयोग की गई settings को असली code में ले जाना आसान है
real time Flexbox प्रयोग टूल
- CSS Flexbox Playground, Flexbox properties सीखने और उन पर प्रयोग करने के लिए एक interactive टूल है
- controls को adjust करने पर layout में बदलाव real time में दिखाई देते हैं
- प्रयोग के नतीजे के रूप में generate हुआ CSS code copy किया जा सकता है
डिफ़ॉल्ट उदाहरण सेटिंग
- उदाहरण
.container setting में नीचे दिया गया CSS इस्तेमाल होता है
.container {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: flex-start;
flex-wrap: nowrap;
}
- स्क्रीन पर
1, 2, 3, 4, 5 items दिखते हैं, जिनसे Flexbox layout result को देखा जा सकता है
1 टिप्पणियां
Hacker News की राय
Flexbox अपने आप में सरल और तार्किक है, लेकिन properties और values के नाम इतने committee-style में रखे गए हैं कि वे intuitive नहीं लगते
justify-contentऔरalign-itemsमें कौन क्या है, यह याद रखने की कोशिश करते-करते आखिरकार हार मान लेता हूँ, और बस अलग-अलग चीज़ें बदलकर देखता रहता हूँ जब तक काम न हो जाएGrid के लिए भी ऐसी ही एक guide है, और वह भी शानदार है
खासकर SPA में जब boxes को screen भरनी हो लेकिन overflow न करना हो, तब यह बहुत महत्वपूर्ण होता है। आखिर में इधर-उधर
min-width: 0जैसी बिल्कुल non-intuitive settings डालनी पड़ती हैं, फिर कुछ और चीज़ें छेड़ने पर किसी तरह काम बन जाता हैलगता है कि इन सबको cover करने वाली कुछ CSS classes बनाई जा सकती हैं, लेकिन अभी तक हर case पर लागू होने वाला हल नहीं मिला
display: flexrule के पास वाला icon दबाने पर कई Flexbox properties icons के रूप में visualize हो जाती हैं, और click करके तुरंत set भी की जा सकती हैंpractically हर page एक playground बन जाता है
justify-content: centerकोjustify-centerऔरalign-items: centerकोitems-centerकहना—समझ नहीं आता ऐसा क्यों कियाjustify-contentका नामmain-axisऔरalign-itemsका नामcross-axisहोना चाहिए थायह समझ में आ जाए तो पूरा Flexbox आसान हो जाता है
यह बात पहले भी कई बार आ चुकी है, लेकिन मैं Flexbox Froggy https://flexboxfroggy.com/ की सिफारिश करता रहा हूँ और दूसरे लोगों ने भी इसे जल्दी सीख लिया
CSS Grid सीखने के लिए https://cssgridgarden.com/ भी अच्छा है
यह बच्चों के लिए बने https://www.codemonkey.com/ जैसा लगता है
Bootstrap code बनाने के लिए https://build.layoutit.com/ उपयोगी है, और CSS Grid के लिए https://grid.layoutit.com/ है। बस अफसोस यह है कि पहला वाला Bootstrap 5 नहीं, सिर्फ Bootstrap 4 तक support करता है
Josh की guide https://www.joshwcomeau.com/css/interactive-guide-to-flexbox/ ज़ोरदार सिफारिश के लायक है
यह
flex-basis, auto margins,min-widthजैसी advanced pitfalls और tips को विस्तार से कवर करती हैमुझे लगता था कि मैं Flexbox और Tailwind CSS components को काफी अच्छी तरह जानता हूँ, लेकिन इस लेख ने theoretical foundation की कमी को अच्छी तरह पूरा किया
यह एक अच्छा playground है
कुछ साल पहले मैंने अंत में इसी तरह का playground जोड़कर एक interactive guide बनाई थी: https://lik.ai/guides/an-interactive-guide-to-flexbox/
कभी-कभी याद ताज़ा करने में यह काम आई
अब 2025 आ चुका है, 2 साल और 3 tutorials बीत गए, फिर भी मैं अभी तक Flexbox ठीक से इस्तेमाल नहीं कर पाता
https://flexboxfroggy.com/ से भी खास मदद नहीं मिली
justifyऔरalignपहली कोशिश में हमेशा उल्टे पड़ते हैंCSS float layouts सहित तमाम चीज़ें सालों तक याद रहती हैं, लेकिन Flexbox अगर कुछ महीनों तक न इस्तेमाल करूँ तो उसका 80% भूल जाता हूँ, और फिर शुरू से पढ़ना पड़ता है और playground में समय लगाना पड़ता है
समस्या यह है कि property names बहुत ज्यादा हैं, और उनमें से कई intuitive नहीं हैं या सीधे गलत नाम जैसे लगते हैं। लगता है कि एक-दो अक्षरों वाले symbolic names भी रखे होते तो शायद उतना ही ठीक रहता
उम्मीद है यह tool मदद करेगा, और अगर कुछ छूटा हो तो लोग बताएँ
इस property का नाम
justify-contentऔरalign-itemsक्यों रखा गया होगा?main-axis-arrangementऔरcross-axis-alignmentज़्यादा समझ में आने वाले नाम नहीं होते क्या?color,text-align,position: absoluteऔरposition: fixedजैसी चीज़ें भी;absoluteभी तकनीकी रूप से अब भी relative ही हैjustify-items,justify-selfजैसी naming convention से भी मेल खाते हैं, इसलिए consistency तो हैफिर भी
align-contentअभी भी confuse करता हैgrid-templateshorthand में y-axis पहले लिखना भी confusing है:y1 / x1 / y2 / x2ऊपर से यह 0 से शुरू भी नहीं होता, इसलिए मैं इसे हमेशा भूल जाता हूँ
ऐसा Tailwind alias plugin जल्दी से बनाया जा सकता है, जो
cross-axis-centerकोalign-items: centerसे औरmain-axis-betweenकोjustify-content: space-betweenसे map कर देहाँ, इसे बदला जा सकता है, लेकिन Flexbox के default behavior के लिए यह mnemonic काम कर जाता है
Flexbox सीखते समय properties ढूँढने के लिए मैंने एक cheatsheet बनाई थी
यह दूसरों के लिए भी उपयोगी हो सकती है: https://darekkay.com/flexbox-cheatsheet/
जल्दी देखने लायक visual cheatsheet के तौर पर यह अच्छी है, लेकिन आखिरकार इसे अलग-अलग projects में इस्तेमाल करते-करते ही आदत बनती है
syntax ज़्यादातर self-explanatory है, लेकिन
rowऔरcolumnइसका अपवाद हैंFlexbox या Grid के ज़्यादातर हिस्सों में मैं कभी बहुत नहीं अटका, लेकिन यह साफ़ दिखता है कि लोग इनमें अक्सर confuse होते हैं। box model को समझना और Firefox developer tools का इस्तेमाल करना Flexbox model सीखने में बहुत मदद करता है। यह container को काफ़ी अच्छी तरह visualize कर देता है, और अब लगता है Chrome developer tools में भी कुछ ऐसा ही है
flexboxfroggy और cssgridgarden भी practice के लिए उपयोगी थे। फिर भी syntax देखने के लिए मैं हर बार CSS-Tricks cheatsheet खोलता हूँ, और
rowहै याcolumn, यह पहली कोशिश में कभी सही नहीं होताFlex mode toggle को जल्दी ऑन-ऑफ किया जा सकता है https://imgur.com/a/17iy1eN
यह tool बहुत सीमित लगता है क्योंकि यह सिर्फ़ 4 container properties को ही संभालता है
Flexbox में काफ़ी महत्वपूर्ण child item properties इसमें पूरी तरह गायब हैं
काश CSS layout की practice के लिए कोई दिलचस्प exercises का collection होता
अच्छी तरह लिखे गए solutions और explanations हों, और debugging exercises भी हों, जैसे “यह code snippet मनचाहा layout क्यों नहीं बना पा रहा?”
CSS issues को debug करने में ChatGPT काफ़ी मददगार रहा है। यह हमेशा सही नहीं होता, लेकिन ज़्यादातर सही दिशा दे देता है। फिर भी मैं CSS वास्तव में कैसे काम करता है, इसे और गहराई से समझना चाहता हूँ। मैंने किताबें और tutorials भी पढ़े हैं और आखिरकार यह समझता हूँ कि यह rules का एक set है, लेकिन इसे ठीक-ठीक लागू करना मुश्किल है
मैं अक्सर उससे CSS ठीक करके इस तरह दोबारा लिखने को कहता हूँ कि मनचाहा रूप मिल जाए, और यह docs खंगालने से कहीं ज़्यादा तेज़ है