CSS3 फ्लेक्सबॉक्स: डिस्प्ले: बॉक्स बनाम फ्लेक्सबॉक्स बनाम फ्लेक्स


84

कल मुझे स्कूल में एक वेबसाइट मिली, जो CSS 3 फ्लेक्सबॉक्स स्टेटमेंट का उपयोग करती है। मैंने पहले कभी ऐसा नहीं किया। इसलिए मैंने इसे थोड़ा सा देखा और फ्लेक्सबॉक्स स्टेटमेंट्स की विभिन्न शैलियों को पाया।

कुछ लोग लिखते हैं display: box;, कुछ उपयोग करते हैं display: flexbox;, और अन्य display: flex;

तो अंतर क्या हैं? जो मुझे उपयोग करना चाहिए?


7
सटीक डुप्लिकेट: stackoverflow.com/questions/15662578/…
cimmanon

लेकिन जो पहले एक स्वीकृत जवाब मिलेगा ... मैं आपके दांव @cimmanon को हेज करूंगा और अपना जवाब दोनों को दूंगा!
andyb

3
यह कोई बात नहीं है जो बंद है। एक पुराने प्रश्न को बंद किया जा सकता है यदि किसी नए व्यक्ति के पास बेहतर उत्तर हों। मैं यह अनुमान लगाता हूं कि पुराने प्रश्न, जिसे "प्रश्न और उत्तर" के रूप में ठीक उसी समय पोस्ट किया गया था, या तो कभी स्वीकार नहीं किया जाएगा या ओपी अपने स्वयं के उत्तर को स्वीकार करेगा। जैसे मैंने कहा, मैं आपके उत्तर की नकल करूंगा और पुराने को इस के डुप्लिकेट के रूप में बंद करने के लिए वोट दूंगा, ओपी ने एक उत्तर स्वीकार किया :-)
एंडीब

2
@ कैंडी: मेरे लिए दोनों उत्तर यहां बेहतर लिंक और एक समाधान भी है ... तो मुझे लगता है, मेरे प्रश्न को बंद नहीं होना चाहिए, भले ही यह एक डुप्लिकेट हो।

2
@ बांब: आह! मुझे वह किसी तरह याद आया। हम जल्द ही इसे देखेंगे। धन्यवाद।
BoltClock

जवाबों:


154

ये अलग-अलग स्टाइल हैं।
display: box;2009
display: flexbox;का एक संस्करण है। 2011
display: flex;का एक संस्करण है। वास्तविक संस्करण है।

पॉल आयरिश का उद्धरण

चेतावनी: फ्लेक्सबॉक्स कुछ प्रमुख संशोधनों से गुजरा है, इसलिए यह लेख पुराना है। सारांश में, पुराने मानक (फ्लेक्सबॉक्स 2009) , जिस पर यह लेख आधारित है, को क्रोम में v4, फ़ायरफ़ॉक्स से v2 और IE10 बीटा के बाद से लागू किया गया था।

तब से, नए फ्लेक्सबॉक्स मानक की शुरुआत हुई क्रोम 17 में पदार्पण और शुरुआत की। स्टीफन हे ने नए फ्लेक्सबॉक्स कार्यान्वयन पर एक गाइड लिखा है । तब से, कल्पना ने नामकरण में बदलाव किया जो क्रोम 21 में उतरने लगा। क्रोम 22 में नवीनतम कल्पना का एक स्थिर कार्यान्वयन है।

इस बिंदु पर, या तो लागू करने के अपने जोखिम हैं , इसलिए जागरूक रहें।

यहाँ विभिन्न flexbox स्टेटमेंट के बारे में ब्लॉग है।
यह विभिन्न संस्करणों के बारे में सीएसएस-ट्रिक्स द्वारा एक ब्लॉग प्रविष्टि है।

जब मैं फ्लेक्सबॉक्स का उपयोग करता हूं, तो मैं हमेशा इसे इस तरह लिखता हूं:

display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;

संपादित करें:
अभी भी हर किसी के पास ब्राउज़र / डिवाइस नहीं है जो फ्लेक्सबॉक्स लेआउट को देखने में सक्षम है। तो फ़ॉलबैक समाधान या विकल्प के लिए केनान यूसुफ़ द्वारा यह लेख है कि फ्लेक्सबॉक्स का उपयोग किए बिना फ्लेक्सबॉक्स का उपयोग कैसे करें


घोषणा का क्रम मायने रखता है। मैं पुराने एंड्रॉइड क्रोम पर काम कर रहा था जो केवल -webkit- बॉक्स का समर्थन करता है, इस घोषणा को प्रभावी होने के लिए अंतिम रूप से आना होगा। किसी को भी यह अनुभव?
केन

3
@ कोई नहीं, -webkit-boxपहले आता है। आपकी अंतिम घोषणा हमेशा सबसे हालिया या W3C मानक होनी चाहिए। हालाँकि मैं इसके -ms-flexboxबाद सिफारिश -webkit-flexकरूंगा क्योंकि IE12 / Edge सपोर्ट करता है -webkit-flex, लेकिन आप तकनीकी रूप से IE को इसके -ms-बजाय अपने उचित उपसर्ग का उपयोग करना चाहते हैं -webkit-। यह प्रदर्शन के रूप में हालांकि एक सामान्य सावधानी नाइटपिक है: फ्लेक्स; यहाँ IE12 से प्रभावित नहीं है।
हेक्सालिस

10

विनिर्देश कई पुनरावृत्तियों के माध्यम से रहा है, 2009 , 2012 , 2013 देखें और हर बार मूल्य बदल दिया गया था।display: flex;नवीनतम है।

यह अभी भी एक मसौदा विनिर्देश है इसलिए कोई भी वर्तमान कार्यान्वयन अभी भी बदल सकता है।


1

प्रदर्शन: फ्लेक्स; वर्तमान में नवीनतम और बेहतर संस्करण है जिसका उपयोग हम अपने कोड में कर सकते हैं।

तो उसके लिए जाओ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.