"फ्लेक्स" और "इनलाइन-फ्लेक्स" के बीच अंतर
संक्षिप्त जवाब:
एक इनलाइन है और दूसरा मूल रूप से एक ब्लॉक एलिमेंट की तरह प्रतिक्रिया करता है (लेकिन इसके कुछ अंतर हैं)।
दीर्घ उत्तर:
इनलाइन-फ्लेक्स - फ्लेक्स का इनलाइन संस्करण तत्व, और इसके बच्चों को फ्लेक्स गुण रखने की अनुमति देता है, जबकि दस्तावेज़ / वेबपेज के नियमित प्रवाह में अभी भी शेष है। मूल रूप से, आप एक ही पंक्ति में दो इनलाइन फ्लेक्स कंटेनर रख सकते हैं, यदि चौड़ाई काफी छोटी थी, बिना किसी अतिरिक्त स्टाइल के उन्हें एक ही पंक्ति में मौजूद रहने की अनुमति देता है। यह "इनलाइन-ब्लॉक" के समान है।
फ्लेक्स - कंटेनर और इसमें बच्चों के फ्लेक्स गुण होते हैं, लेकिन कंटेनर में पंक्ति सुरक्षित होती है, क्योंकि इसे दस्तावेज़ के सामान्य प्रवाह से बाहर निकाल दिया जाता है। यह दस्तावेज़ प्रवाह के संदर्भ में एक ब्लॉक तत्व की तरह प्रतिक्रिया करता है। बिना अतिरिक्त स्टाइल के दो फ्लेक्सबॉक्स कंटेनर एक ही पंक्ति में मौजूद नहीं हो सकते।
आपको जो समस्या हो रही है
आपके द्वारा अपने उदाहरण में सूचीबद्ध किए गए तत्वों के कारण, हालांकि मैं अनुमान लगा रहा हूं, मुझे लगता है कि आप फ्लेक्स का उपयोग एक समान पंक्ति-दर-पंक्ति फैशन में सूचीबद्ध तत्वों को प्रदर्शित करने के लिए करना चाहते हैं, लेकिन तत्वों को साइड-बाय-साइड देखना जारी रखें।
जिस कारण से आपको समस्या होने की संभावना है, क्योंकि फ्लेक्स और इनलाइन-फ्लेक्स में डिफ़ॉल्ट "फ्लेक्स-दिशा" गुण "पंक्ति" पर सेट है। यह बच्चों को अगल-बगल प्रदर्शित करेगा। इस संपत्ति को "कॉलम" में बदलने से आपके तत्व अपने माता-पिता की चौड़ाई के बराबर स्थान (चौड़ाई) को स्टैक और आरक्षित कर सकेंगे।
नीचे कुछ उदाहरण दिए गए हैं कि कैसे फ्लेक्स बनाम इनलाइन-फ्लेक्स काम करता है और इनलाइन बनाम ब्लॉक तत्वों के काम का एक त्वरित डेमो भी ...
display: inline-flex; flex-direction: row;
बेला
display: flex; flex-direction: row;
बेला
display: inline-flex; flex-direction: column;
बेला
display: flex; flex-direction: column;
बेला
display: inline;
बेला
display: block
बेला
इसके अलावा, एक महान संदर्भ डॉक्टर:
फ्लेक्सबॉक्स के लिए एक पूर्ण गाइड - सीएसएस ट्रिक्स
inline-flex
औरflex
: jsfiddle.net/mgr0en3q/1 @ फिश-ग्राफिक्स और @astridx द्वारा मूल फिडल