CSS फ्लेक्सबॉक्स
- पिछला पृष्ठ CSS बॉक्स साइजिंग
- अगला पृष्ठ CSS मीडिया क्वेरी
CSS Flexbox लेयआउट मॉड्यूल
Flexbox लेयआउट मॉड्यूल (लॉन्च) से पहले, उपलब्ध लेयआउट मोड्स में निम्नलिखित चार हैं:
- ब्लॉक (Block), वेबपेज में किसी भाग (सेक्शन) के लिए
- इनलाइन (Inline), लिखित टेक्स्ट के लिए
- तालिका, दो-आयामी तालिका डाटा के लिए
- पोजिशनिंग, एलीमेंट के स्पष्ट स्थान के लिए
फ्लेक्स बॉक्स लेयआउट मॉड्यूल, जो लचीले प्रतिक्रियाशील लेयआउट संरचना डिजाइन करने में आसानी देता है, बिना फ्लॉटिंग या पोजिशनिंग का उपयोग किए。
ब्राउज़र समर्थन
सभी आधुनिक ब्राउज़रों में समर्थन flexbox
गुण
29.0 | 11.0 | 22.0 | 10 | 48 |
Flexbox एलीमेंट
यदि आप Flexbox मॉडल का उपयोग शुरू करना चाहते हैं, तो आपको पहले Flex भारी को परिभाषित करना होगा。
ऊपर वाले एलीमेंट तीन फ्लेक्स प्रभाग वाले flex कंटेनर (नीली क्षेत्र) को प्रदर्शित करते हैं।
उदाहरण
तीन फ्लेक्स प्रभाग वाला flex कंटेनर:
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> </div>
पितृ एलीमेंट (कंटेनर):
द्वारा: display
गुण सेट किया जाता है: flex
फ्लेक्स कंटेनर को लघुतरे बनाने के लिए गुण सेट किया जाता है:
उदाहरण
.flex-container { display: flex; }
यहाँ flex कंटेनर गुण हैं:
flex-direction एट्रिब्यूट
flex-direction
गुण कंटेनर को किस दिशा में फ्लेक्स प्रभागों को ढालना है इसे निर्धारित करता है।
उदाहरण
column
मूल्य फ्लेक्स प्रभागों को ऊर्ध्व ढालना (ऊपर से नीचे):
.flex-container { display: flex; flex-direction: column; }
उदाहरण
column-reverse
मूल्य फ्लेक्स प्रभागों को ऊर्ध्व ढालना (नीचे से ऊपर):
.flex-container { display: flex; flex-direction: column-reverse; }
उदाहरण
row
मूल्य फ्लेक्स प्रभागों को स्तरीय ढालना (बाईं से दायं तरफ):
.flex-container { display: flex; flex-direction: row; }
उदाहरण
row-reverse
मूल्य फ्लेक्स प्रभागों को स्तरीय ढालना (दायं से बाईं तरफ):
.flex-container { display: flex; flex-direction: row-reverse; }
flex-wrap एट्रिब्यूट
flex-wrap
गुण फ्लेक्स प्रभागों को लेने के लिए क्या करना चाहिए इसे निर्धारित करता है।
इस उदाहरण में 12 फ्लेक्स प्रभाग हैं, ताकि flex-wrap गुण को बेहतर दिखाया जा सके।
उदाहरण
wrap
मूल्य इस प्रकार निर्धारित करता है कि आवश्यकता पड़े में, फ्लेक्स प्रभागों को लेना:
.flex-container { display: flex; flex-wrap: wrap; }
उदाहरण
nowrap
मूल्य इस प्रकार निर्धारित करता है कि फ्लेक्स प्रभागों को नहीं लेना (मूल रूप):
.flex-container { display: flex; flex-wrap: nowrap; }
उदाहरण
wrap-reverse
मूल्य इस प्रकार निर्धारित करता है कि आवश्यकता पड़े में, फ्लेक्स प्रभाग विपरीत क्रम में लेने के लिए:
.flex-container { display: flex; flex-wrap: wrap-reverse; }
flex-flow एट्रिब्यूट
flex-flow
गुण फ्लेक्स-direction और flex-wrap गुण को साथ-साथ सेट करने के लिए एक लघु गुण है।
उदाहरण
.flex-container { display: flex; flex-flow: row wrap; }
justify-content एट्रिब्यूट
justify-content
गुण फ्लेक्स प्रभागों को समायोजित करने के लिए उपयोग किया जाता है:
उदाहरण
center
मूल्य फ्लेक्स प्रभागों को कंटेनर के मध्य में समायोजित करता है:
.flex-container { display: flex; justify-content: center; }
उदाहरण
flex-start
मूल्य फ्लेक्स प्रभागों को कंटेनर के शुरू में समायोजित करता है (मूल रूप):
.flex-container { display: flex; justify-content: flex-start; }
उदाहरण
flex-end
मूल्य फ्लेक्स प्रभागों को कंटेनर के अंत में समायोजित करता है:
.flex-container { display: flex; justify-content: flex-end; }
उदाहरण
space-around
मूल्य दर्शाता है कि फ्लेक्स प्रभागों के शुरू, बीच और बाद में अंतराल वाला है:
.flex-container { display: flex; justify-content: space-around; }
उदाहरण
space-between
मूल्य दर्शाता है कि फ्लेक्स प्रभागों के बीच अंतराल है:
.flex-container { display: flex; justify-content: space-between; }
align-items एट्रिब्यूट
align-items
गुण फ्लेक्स प्रभागों को ऊर्ध्व तरफ समायोजित करने के लिए उपयोग किया जाता है।
इन उदाहरणों में, हम 200 पिक्सल ऊंचे कंटेनर का उपयोग करते हैं, ताकि align-items गुण को बेहतर दिखाया जा सके।
उदाहरण
center
मान फ्लेक्स प्रोजेक्ट्स को कंटेनर के मध्य में आनुकूलित करता है:
.flex-container { display: flex; height: 200px; align-items: center; }
उदाहरण
flex-start
मान फ्लेक्स प्रोजेक्ट्स को कंटेनर के शुरू में आनुकूलित करता है:
.flex-container { display: flex; height: 200px; align-items: flex-start; }
उदाहरण
flex-end
मान फ्लेक्स प्रोजेक्ट्स को कंटेनर के नीचे आनुकूलित करता है:
.flex-container { display: flex; height: 200px; align-items: flex-end; }
उदाहरण
stretch
मान फ्लेक्स प्रोजेक्ट्स को कंटेनर को भरने के लिए बढ़ाता है (डिफ़ॉल्ट):
.flex-container { display: flex; height: 200px; align-items: stretch; }
उदाहरण
baseline
मान फ्लेक्स प्रोजेक्ट्स को बेस लाइन पर आनुकूलित करता है:
.flex-container { display: flex; height: 200px; align-items: baseline; }
ध्यान:इस उदाहरण में, हम विभिन्न font-size का प्रयोग करके प्रोजेक्ट्स को टेक्स्ट बेस लाइन पर आनुकूलित करने का प्रदर्शन करेंगे:
align-content एट्रिब्यूट
align-content
गुण फ्लेक्स लाइन को आनुकूलित करने के लिए प्रयोग किया जाता है।
इन उदाहरणों में, हम 600 पिक्सल ऊंचाई वाले कंटेनर का उपयोग करते हैं और flex-wrap गुण को wrap के रूप में सेट करते हैं, ताकि align-content गुण को बेहतर ढांचा दिखाया जा सके।
उदाहरण
space-between
मान फ्लेक्स लाइन के बीच समान अंतराल दिखाता है:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: space-between; }
उदाहरण
space-around
मान फ्लेक्स लाइन को इसके पहले, बीच में और बाद में स्पेस के साथ दिखाता है:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: space-around; }
उदाहरण
stretch
मान फ्लेक्स लाइन को बढ़ाकर बाकी स्थान को ले लेता है (डिफ़ॉल्ट):
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: stretch; }
उदाहरण
center
मान को कंटेनर के मध्य में दिखाने के लिए मध्य में दिखाया जाता है:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: center; }
उदाहरण
flex-start
मान को कंटेनर के शुरू में दिखाने के लिए शुरू में दिखाया जाता है:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: flex-start; }
उदाहरण
flex-end
मान को बैक की ओर दिखाने के लिए बैक की ओर दिखाया जाता है:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: flex-end; }
आदर्श केंद्रीकरण
इस उदाहरण में, हम एक बहुत सामान्य शैली समस्या को हल करेंगे: आदर्श केंद्रीकरण।
समाधान: इसे justify-content
और align-items
गुण को केंद्र में सेट करने के बाद फ्लेक्स प्रोजेक्ट्स पूरी तरह से केंद्रीत होंगे:
उदाहरण
.flex-container { display: flex; height: 300px; justify-content: center; align-items: center; }
सबएलमेंट (प्रोजेक्ट)
flex के डायरेक्ट सबएलमेंट स्वचालित रूप से फ्लेक्सबल (flex) प्रोजेक्ट के रूप में बन जाते हैं।
ऊपरी एलिमेंट एक ग्रे फ्लेक्स कंटेनर के भीतर चार नीले फ्लेक्स आइटमों का प्रतिनिधित्व करता है।
उदाहरण
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div>
इलास्टिक आइटम के लिए इस्तेमाल किए जाने वाले अभियात्मक हैं:
order
flex-grow
flex-shrink
flex-basis
flex
align-self
order अभियात्मक
order
इस अभियात्मक फ्लेक्स आइटम की क्रमवारी को निर्धारित करती है。
कोड में पहले फ्लेक्स आइटम को लेयाउट में पहला आइटम के रूप में दिखाया नहीं जाना चाहिए。
order
यह मान 0 होना चाहिए, जो डिफ़ॉल्ट मान है。
उदाहरण
order
इस अभियात्मक को फ्लेक्स आइटम की क्रमवारी को बदल सकती है:
<div class="flex-container"> <div style="order: 3">1</div> <div style="order: 2">2</div> <div style="order: 4">3</div> <div style="order: 1">4</div> </div>
flex-grow अभियात्मक
flex-grow
इस अभियात्मक फ्लेक्स आइटम को अन्य इलास्टिक आइटम की तुलना में कितनी मात्रा में बढ़ने को निर्धारित करती है。
यह मान 0 होना चाहिए, जो डिफ़ॉल्ट मान है。
उदाहरण
तीसरे इलास्टिक आइटम को अन्य इलास्टिक आइटम की तुलना में आठ गुना तेजी से बढ़ने की अनुमति दें:
<div class="flex-container"> <div style="flex-grow: 1">1</div> <div style="flex-grow: 1">2</div> <div style="flex-grow: 8">3</div> </div>
flex-shrink अभियात्मक
flex-shrink
इस अभियात्मक फ्लेक्स आइटम को अन्य इलास्टिक आइटम के समान खिंचने की कितनी मात्रा में खिंचने को निर्धारित करती है。
यह मान 0 होना चाहिए, जो डिफ़ॉल्ट मान है。
उदाहरण
तीसरे इलास्टिक आइटम को अन्य इलास्टिक आइटम के समान खिंचने की अनुमति नहीं दें:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex-shrink: 0">3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div> </div>
flex-basis अभियात्मक
flex-basis
इस अभियात्मक फ्लेक्स आइटम की प्रारंभिक लंबाई को निर्धारित करती है。
उदाहरण
तीसरे इलास्टिक आइटम की प्रारंभिक लंबाई 200 पिक्सल के रूप में सेट करें:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex-basis: 200px">3</div> <div>4</div> </div>
flex अभियात्मक
flex
इस अभियात्मक फ्लेक्सग्रोथ, फ्लेक्सश्रिंक और फ्लेक्सबेस अभियात्मक का एक लघुरूप है。
उदाहरण
तीसरे इलास्टिक आइटम को बढ़ने के लिए अनुमति नहीं दें (0), खिंचने के लिए अनुमति नहीं दें (0) और प्रारंभिक लंबाई 200 पिक्सल है:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex: 0 0 200px">3</div> <div>4</div> </div>
align-self अभियात्मक
align-self
प्रयोगता नियम इलास्टिक कंटेनर के भीतर चयनित आइटम के ज्ञायिताकरण के तरीके को निर्धारित करती है。
align-self
गुण कंटेनर के align-items गुण द्वारा निर्धारित डिफ़ॉल्ट अलाइनिंग को ओवरराइड करेगा।
इन उदाहरणों में, हम 200 पिक्सल ऊंचाई वाले कंटेनर का उपयोग करते हैं, ताकि align-self गुण का बेहतर प्रदर्शन किया जा सके:
उदाहरण
तीसरी फ्लेक्सबॉक्स वस्तु को कंटेनर के मध्य में अलाइन करें:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="align-self: center">3</div> <div>4</div> </div>
उदाहरण
दूसरी फ्लेक्सबॉक्स वस्तु को कंटेनर के शीर्ष पर अलाइन करें, तीसरी फ्लेक्सबॉक्स वस्तु को कंटेनर के नीचे अलाइन करें:
<div class="flex-container"> <div>1</div> <div style="align-self: flex-start">2</div> <div style="align-self: flex-end">3</div> <div>4</div> </div>
Flexbox का उपयोग करने वाली रिस्पांसिव इमेज लाइब्रेरी
flexbox का उपयोग करके रिस्पांसिव इमेज लाइब्रेरी बनाएं, जो स्क्रीन आकार के अनुसार चार इमेजों, दो इमेजों या पूर्ण चौड़ाई के इमेजों में परिवर्तित होती है:
Flexbox का उपयोग करने वाली रिस्पांसिव वेबसाइट
flexbox का उपयोग करके रिस्पांसिव वेबसाइट बनाएं, जिसमें फ्लेक्सबॉक्स नेविगेशन बार और फ्लेक्सबॉक्स सामग्री है:
CSS Flexbox गुण
नीचे दिए गए तालिका में flexbox के साथ उपयोग किए जाने वाले CSS गुणों को दर्शाया गया है:
गुण | वर्णन |
---|---|
display | एचटीएमएल एलिमेंट के लिए बॉक्स तरीके को निर्धारित करता है。 |
flex-direction | फ्लेक्सबॉक्स के भीतर फ्लेक्सबॉक्स वस्तुओं के दिशा को निर्धारित करता है。 |
justify-content | जब फ्लेक्सबॉक्स वस्तु मुख्य अक्ष पर सभी उपलब्ध जगह का उपयोग नहीं करती है, तो इसे बहुतांश अलाइन करता है。 |
align-items | जब फ्लेक्सबॉक्स वस्तु मुख्य अक्ष पर सभी उपलब्ध जगह का उपयोग नहीं करती है, तो इसे ऊपरी ओर अलाइन करता है。 |
flex-wrap | फ्लेक्सबॉक्स वस्तु को फ्लेक्स रेखा पर फिर से लाने के लिए निर्धारित करता है, यदि एक फ्लेक्स रेखा में उनके लिए पर्याप्त जगह नहीं है। |
align-content | flex-wrap गुण के व्यवहार को संशोधित करता है। यह align-items के समान है, लेकिन यह फ्लेक्सबॉक्स वस्तुओं को नहीं अलाइन करता, बल्कि flex रेखा को अलाइन करता है。 |
flex-flow | flex-direction और flex-wrap गुणों का लघुरूप. |
order | फ्लेक्सबॉक्स के भीतर अन्य फ्लेक्सबॉक्स वस्तुओं के प्रति फ्लेक्सबॉक्स वस्तु की गिनती निर्धारित करता है。 |
align-self | फ्लेक्सबॉक्स के भीतर फ्लेक्सबॉक्स वस्तुओं के लिए उपयोग किया जाता है। इसका प्रभाव वहां पड़ता है जहां अलाइन-आइटम्स गुण का प्रभाव पड़ता है。 |
flex | flex-grow, flex-shrink और flex-basis गुणों का लघुरूप. |
- पिछला पृष्ठ CSS बॉक्स साइजिंग
- अगला पृष्ठ CSS मीडिया क्वेरी