फ्लेक्स
प्रतिसाद देणार्या फ्लेक्सबॉक्स युटिलिटीजच्या संपूर्ण संचसह ग्रिड स्तंभ, नेव्हिगेशन, घटक आणि बरेच काही यांचे लेआउट, संरेखन आणि आकारमान द्रुतपणे व्यवस्थापित करा. अधिक जटिल अंमलबजावणीसाठी, सानुकूल CSS आवश्यक असू शकते.
फ्लेक्स वर्तन सक्षम करा
display
फ्लेक्सबॉक्स कंटेनर तयार करण्यासाठी उपयुक्तता लागू करा आणि थेट मुलांच्या घटकांचे फ्लेक्स आयटममध्ये रूपांतर करा. फ्लेक्स कंटेनर आणि आयटम अतिरिक्त फ्लेक्स गुणधर्मांसह आणखी सुधारित केले जाऊ शकतात.
<div class="d-flex p-2">I'm a flexbox container!</div>
<div class="d-inline-flex p-2">I'm an inline flexbox container!</div>
.d-flex
प्रतिसादात्मक भिन्नता आणि साठी देखील अस्तित्वात आहेत .d-inline-flex
.
.d-flex
.d-inline-flex
.d-sm-flex
.d-sm-inline-flex
.d-md-flex
.d-md-inline-flex
.d-lg-flex
.d-lg-inline-flex
.d-xl-flex
.d-xl-inline-flex
.d-xxl-flex
.d-xxl-inline-flex
दिशा
दिशा उपयुक्ततेसह फ्लेक्स कंटेनरमध्ये फ्लेक्स आयटमची दिशा सेट करा. बर्याच प्रकरणांमध्ये ब्राउझर डीफॉल्ट असल्याने तुम्ही येथे क्षैतिज वर्ग वगळू शकता row
. तथापि, तुम्हाला अशी परिस्थिती येऊ शकते जिथे तुम्हाला हे मूल्य स्पष्टपणे सेट करणे आवश्यक आहे (जसे की प्रतिसादात्मक लेआउट).
.flex-row
क्षैतिज दिशा (ब्राउझर डीफॉल्ट) सेट करण्यासाठी किंवा .flex-row-reverse
विरुद्ध बाजूने क्षैतिज दिशा सुरू करण्यासाठी वापरा .
<div class="d-flex flex-row mb-3">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
.flex-column
अनुलंब दिशा सेट करण्यासाठी किंवा .flex-column-reverse
विरुद्ध बाजूने अनुलंब दिशा सुरू करण्यासाठी वापरा .
<div class="d-flex flex-column mb-3">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-column-reverse">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत flex-direction
.
.flex-row
.flex-row-reverse
.flex-column
.flex-column-reverse
.flex-sm-row
.flex-sm-row-reverse
.flex-sm-column
.flex-sm-column-reverse
.flex-md-row
.flex-md-row-reverse
.flex-md-column
.flex-md-column-reverse
.flex-lg-row
.flex-lg-row-reverse
.flex-lg-column
.flex-lg-column-reverse
.flex-xl-row
.flex-xl-row-reverse
.flex-xl-column
.flex-xl-column-reverse
.flex-xxl-row
.flex-xxl-row-reverse
.flex-xxl-column
.flex-xxl-column-reverse
सामग्रीचे समर्थन करा
मुख्य अक्षावर फ्लेक्स आयटमचे संरेखन बदलण्यासाठी फ्लेक्सबॉक्स कंटेनरवरील उपयुक्तता वापरा justify-content
(सुरू करण्यासाठी x-अक्ष, y-अक्ष असल्यास flex-direction: column
). start
(ब्राउझर डीफॉल्ट), end
, center
, between
, around
, किंवा मधून निवडा evenly
.
<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-center">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>
<div class="d-flex justify-content-evenly">...</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत justify-content
.
.justify-content-start
.justify-content-end
.justify-content-center
.justify-content-between
.justify-content-around
.justify-content-evenly
.justify-content-sm-start
.justify-content-sm-end
.justify-content-sm-center
.justify-content-sm-between
.justify-content-sm-around
.justify-content-sm-evenly
.justify-content-md-start
.justify-content-md-end
.justify-content-md-center
.justify-content-md-between
.justify-content-md-around
.justify-content-md-evenly
.justify-content-lg-start
.justify-content-lg-end
.justify-content-lg-center
.justify-content-lg-between
.justify-content-lg-around
.justify-content-lg-evenly
.justify-content-xl-start
.justify-content-xl-end
.justify-content-xl-center
.justify-content-xl-between
.justify-content-xl-around
.justify-content-xl-evenly
.justify-content-xxl-start
.justify-content-xxl-end
.justify-content-xxl-center
.justify-content-xxl-between
.justify-content-xxl-around
.justify-content-xxl-evenly
आयटम संरेखित करा
क्रॉस अक्षावर फ्लेक्स आयटमचे संरेखन बदलण्यासाठी फ्लेक्सबॉक्स कंटेनरवरील उपयुक्तता वापरा align-items
(सुरू करण्यासाठी y-अक्ष, x-अक्ष असल्यास flex-direction: column
). start
, end
, center
, baseline
, किंवा stretch
(ब्राउझर डीफॉल्ट) मधून निवडा .
<div class="d-flex align-items-start">...</div>
<div class="d-flex align-items-end">...</div>
<div class="d-flex align-items-center">...</div>
<div class="d-flex align-items-baseline">...</div>
<div class="d-flex align-items-stretch">...</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत align-items
.
.align-items-start
.align-items-end
.align-items-center
.align-items-baseline
.align-items-stretch
.align-items-sm-start
.align-items-sm-end
.align-items-sm-center
.align-items-sm-baseline
.align-items-sm-stretch
.align-items-md-start
.align-items-md-end
.align-items-md-center
.align-items-md-baseline
.align-items-md-stretch
.align-items-lg-start
.align-items-lg-end
.align-items-lg-center
.align-items-lg-baseline
.align-items-lg-stretch
.align-items-xl-start
.align-items-xl-end
.align-items-xl-center
.align-items-xl-baseline
.align-items-xl-stretch
.align-items-xxl-start
.align-items-xxl-end
.align-items-xxl-center
.align-items-xxl-baseline
.align-items-xxl-stretch
स्वत: ला संरेखित करा
फ्लेक्सबॉक्स आयटमवरील युटिलिटीजचा वापर align-self
वैयक्तिकरित्या क्रॉस अक्षावरील संरेखन बदलण्यासाठी करा (सुरू करण्यासाठी y-अक्ष, x-अक्ष असल्यास flex-direction: column
). सारख्याच पर्यायांमधून निवडा align-items
: start
, end
, center
, baseline
, किंवा stretch
(ब्राउझर डीफॉल्ट).
<div class="align-self-start">Aligned flex item</div>
<div class="align-self-end">Aligned flex item</div>
<div class="align-self-center">Aligned flex item</div>
<div class="align-self-baseline">Aligned flex item</div>
<div class="align-self-stretch">Aligned flex item</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत align-self
.
.align-self-start
.align-self-end
.align-self-center
.align-self-baseline
.align-self-stretch
.align-self-sm-start
.align-self-sm-end
.align-self-sm-center
.align-self-sm-baseline
.align-self-sm-stretch
.align-self-md-start
.align-self-md-end
.align-self-md-center
.align-self-md-baseline
.align-self-md-stretch
.align-self-lg-start
.align-self-lg-end
.align-self-lg-center
.align-self-lg-baseline
.align-self-lg-stretch
.align-self-xl-start
.align-self-xl-end
.align-self-xl-center
.align-self-xl-baseline
.align-self-xl-stretch
.align-self-xxl-start
.align-self-xxl-end
.align-self-xxl-center
.align-self-xxl-baseline
.align-self-xxl-stretch
भरा
.flex-fill
सर्व उपलब्ध क्षैतिज जागा घेताना त्यांच्या सामग्रीच्या समान रुंदीमध्ये (किंवा त्यांची सामग्री त्यांच्या बॉर्डर-बॉक्सेस ओलांडत नसल्यास समान रूंदी) मध्ये भाग घेण्यासाठी वर्ग घटकांच्या मालिकेवर वापरा .
<div class="d-flex">
<div class="p-2 flex-fill">Flex item with a lot of content</div>
<div class="p-2 flex-fill">Flex item</div>
<div class="p-2 flex-fill">Flex item</div>
</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत flex-fill
.
.flex-fill
.flex-sm-fill
.flex-md-fill
.flex-lg-fill
.flex-xl-fill
.flex-xxl-fill
वाढतात आणि संकुचित होतात
.flex-grow-*
उपलब्ध जागा भरण्यासाठी फ्लेक्स आयटमची वाढण्याची क्षमता टॉगल करण्यासाठी उपयुक्तता वापरा . खालील उदाहरणात, .flex-grow-1
घटक सर्व उपलब्ध जागा वापरतात, उर्वरित दोन फ्लेक्स आयटमना त्यांची आवश्यक जागा देते.
<div class="d-flex">
<div class="p-2 flex-grow-1">Flex item</div>
<div class="p-2">Flex item</div>
<div class="p-2">Third flex item</div>
</div>
.flex-shrink-*
आवश्यक असल्यास फ्लेक्स आयटमची कमी करण्याची क्षमता टॉगल करण्यासाठी उपयुक्तता वापरा . खालील उदाहरणामध्ये, यासह दुसऱ्या फ्लेक्स आयटमला .flex-shrink-1
त्याची सामग्री नवीन ओळीत गुंडाळण्यास भाग पाडले जाते, "संकोचन" सोबत मागील फ्लेक्स आयटमसाठी अधिक जागा देण्यासाठी .w-100
.
<div class="d-flex">
<div class="p-2 w-100">Flex item</div>
<div class="p-2 flex-shrink-1">Flex item</div>
</div>
flex-grow
प्रतिसादात्मक भिन्नता आणि साठी देखील अस्तित्वात आहेत flex-shrink
.
.flex-{grow|shrink}-0
.flex-{grow|shrink}-1
.flex-sm-{grow|shrink}-0
.flex-sm-{grow|shrink}-1
.flex-md-{grow|shrink}-0
.flex-md-{grow|shrink}-1
.flex-lg-{grow|shrink}-0
.flex-lg-{grow|shrink}-1
.flex-xl-{grow|shrink}-0
.flex-xl-{grow|shrink}-1
.flex-xxl-{grow|shrink}-0
.flex-xxl-{grow|shrink}-1
ऑटो मार्जिन
जेव्हा तुम्ही ऑटो मार्जिनसह फ्लेक्स अलाइनमेंट मिक्स करता तेव्हा फ्लेक्सबॉक्स काही सुंदर गोष्टी करू शकतो. खाली ऑटो मार्जिनद्वारे फ्लेक्स आयटम नियंत्रित करण्याची तीन उदाहरणे दर्शविली आहेत: डीफॉल्ट (ऑटो मार्जिन नाही), दोन आयटम उजवीकडे ढकलणे ( .me-auto
), आणि दोन आयटम डावीकडे ढकलणे ( .ms-auto
).
<div class="d-flex mb-3">
<div class="p-2">Flex item</div>
<div class="p-2">Flex item</div>
<div class="p-2">Flex item</div>
</div>
<div class="d-flex mb-3">
<div class="me-auto p-2">Flex item</div>
<div class="p-2">Flex item</div>
<div class="p-2">Flex item</div>
</div>
<div class="d-flex mb-3">
<div class="p-2">Flex item</div>
<div class="p-2">Flex item</div>
<div class="ms-auto p-2">Flex item</div>
</div>
संरेखित-आयटमसह
align-items
, flex-direction: column
, आणि margin-top: auto
किंवा मिक्स करून कंटेनरच्या वरच्या किंवा खालच्या बाजूला एक फ्लेक्स आयटम अनुलंब हलवा margin-bottom: auto
.
<div class="d-flex align-items-start flex-column mb-3" style="height: 200px;">
<div class="mb-auto p-2">Flex item</div>
<div class="p-2">Flex item</div>
<div class="p-2">Flex item</div>
</div>
<div class="d-flex align-items-end flex-column mb-3" style="height: 200px;">
<div class="p-2">Flex item</div>
<div class="p-2">Flex item</div>
<div class="mt-auto p-2">Flex item</div>
</div>
लपेटणे
फ्लेक्स कंटेनरमध्ये फ्लेक्स आयटम कसे गुंडाळतात ते बदला. यासह अजिबात रॅपिंग नाही (ब्राउझर डीफॉल्ट) यासह .flex-nowrap
, यासह रॅपिंग .flex-wrap
किंवा रिव्हर्स रॅपिंग मधून निवडा .flex-wrap-reverse
.
<div class="d-flex flex-nowrap">
...
</div>
<div class="d-flex flex-wrap">
...
</div>
<div class="d-flex flex-wrap-reverse">
...
</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत flex-wrap
.
.flex-nowrap
.flex-wrap
.flex-wrap-reverse
.flex-sm-nowrap
.flex-sm-wrap
.flex-sm-wrap-reverse
.flex-md-nowrap
.flex-md-wrap
.flex-md-wrap-reverse
.flex-lg-nowrap
.flex-lg-wrap
.flex-lg-wrap-reverse
.flex-xl-nowrap
.flex-xl-wrap
.flex-xl-wrap-reverse
.flex-xxl-nowrap
.flex-xxl-wrap
.flex-xxl-wrap-reverse
ऑर्डर करा
मूठभर उपयुक्ततेसह विशिष्ट फ्लेक्स आयटमचा दृश्य क्रम बदला . order
आम्ही फक्त प्रथम किंवा शेवटचा आयटम बनवण्यासाठी पर्याय देतो, तसेच DOM ऑर्डर वापरण्यासाठी रीसेट करतो. 0 ते 5 पर्यंत कोणतेही पूर्णांक मूल्य घेते म्हणून order
, आवश्यक असलेल्या कोणत्याही अतिरिक्त मूल्यांसाठी सानुकूल CSS जोडा.
<div class="d-flex flex-nowrap">
<div class="order-3 p-2">First flex item</div>
<div class="order-2 p-2">Second flex item</div>
<div class="order-1 p-2">Third flex item</div>
</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत order
.
.order-0
.order-1
.order-2
.order-3
.order-4
.order-5
.order-sm-0
.order-sm-1
.order-sm-2
.order-sm-3
.order-sm-4
.order-sm-5
.order-md-0
.order-md-1
.order-md-2
.order-md-3
.order-md-4
.order-md-5
.order-lg-0
.order-lg-1
.order-lg-2
.order-lg-3
.order-lg-4
.order-lg-5
.order-xl-0
.order-xl-1
.order-xl-2
.order-xl-3
.order-xl-4
.order-xl-5
.order-xxl-0
.order-xxl-1
.order-xxl-2
.order-xxl-3
.order-xxl-4
.order-xxl-5
.order-first
याव्यतिरिक्त प्रतिसादात्मक आणि वर्ग देखील आहेत जे अनुक्रमे आणि लागू करून घटक .order-last
बदलतात .order
order: -1
order: 6
.order-first
.order-last
.order-sm-first
.order-sm-last
.order-md-first
.order-md-last
.order-lg-first
.order-lg-last
.order-xl-first
.order-xl-last
.order-xxl-first
.order-xxl-last
सामग्री संरेखित करा
क्रॉस अक्षावर फ्लेक्स आयटम संरेखित करण्यासाठी फ्लेक्सबॉक्सalign-content
कंटेनरवरील उपयुक्तता वापरा . (ब्राउझर डीफॉल्ट), , , , , किंवा मधून निवडा . या उपयुक्तता प्रदर्शित करण्यासाठी, आम्ही लागू केले आहे आणि फ्लेक्स आयटमची संख्या वाढवली आहे.start
end
center
between
around
stretch
flex-wrap: wrap
सावधान! या मालमत्तेचा फ्लेक्स आयटमच्या एकल पंक्तीवर कोणताही परिणाम होत नाही.
<div class="d-flex align-content-start flex-wrap">
...
</div>
<div class="d-flex align-content-end flex-wrap">...</div>
<div class="d-flex align-content-center flex-wrap">...</div>
<div class="d-flex align-content-between flex-wrap">...</div>
<div class="d-flex align-content-around flex-wrap">...</div>
<div class="d-flex align-content-stretch flex-wrap">...</div>
साठी प्रतिसादात्मक भिन्नता देखील अस्तित्वात आहेत align-content
.
.align-content-start
.align-content-end
.align-content-center
.align-content-between
.align-content-around
.align-content-stretch
.align-content-sm-start
.align-content-sm-end
.align-content-sm-center
.align-content-sm-between
.align-content-sm-around
.align-content-sm-stretch
.align-content-md-start
.align-content-md-end
.align-content-md-center
.align-content-md-between
.align-content-md-around
.align-content-md-stretch
.align-content-lg-start
.align-content-lg-end
.align-content-lg-center
.align-content-lg-between
.align-content-lg-around
.align-content-lg-stretch
.align-content-xl-start
.align-content-xl-end
.align-content-xl-center
.align-content-xl-between
.align-content-xl-around
.align-content-xl-stretch
.align-content-xxl-start
.align-content-xxl-end
.align-content-xxl-center
.align-content-xxl-between
.align-content-xxl-around
.align-content-xxl-stretch
मीडिया ऑब्जेक्ट
बूटस्ट्रॅप 4 वरून मीडिया ऑब्जेक्ट घटकाची प्रतिकृती बनवण्याचा विचार करत आहात ? पूर्वीपेक्षा अधिक लवचिकता आणि सानुकूलनास अनुमती देणार्या काही फ्लेक्स युटिलिटीजसह काही वेळात ते पुन्हा तयार करा.
<div class="d-flex">
<div class="flex-shrink-0">
<img src="..." alt="...">
</div>
<div class="flex-grow-1 ms-3">
This is some content from a media component. You can replace this with any content and adjust it as needed.
</div>
</div>
आणि तुम्ही प्रतिमेच्या पुढील सामग्रीला अनुलंब मध्यभागी ठेवू इच्छिता असे म्हणा:
<div class="d-flex align-items-center">
<div class="flex-shrink-0">
<img src="..." alt="...">
</div>
<div class="flex-grow-1 ms-3">
This is some content from a media component. You can replace this with any content and adjust it as needed.
</div>
</div>
सस
उपयुक्तता API
फ्लेक्सबॉक्स युटिलिटीज आमच्या युटिलिटी API मध्ये घोषित केल्या आहेत scss/_utilities.scss
. युटिलिटी API कसे वापरायचे ते शिका.
"flex": (
responsive: true,
property: flex,
values: (fill: 1 1 auto)
),
"flex-direction": (
responsive: true,
property: flex-direction,
class: flex,
values: row column row-reverse column-reverse
),
"flex-grow": (
responsive: true,
property: flex-grow,
class: flex,
values: (
grow-0: 0,
grow-1: 1,
)
),
"flex-shrink": (
responsive: true,
property: flex-shrink,
class: flex,
values: (
shrink-0: 0,
shrink-1: 1,
)
),
"flex-wrap": (
responsive: true,
property: flex-wrap,
class: flex,
values: wrap nowrap wrap-reverse
),
"justify-content": (
responsive: true,
property: justify-content,
values: (
start: flex-start,
end: flex-end,
center: center,
between: space-between,
around: space-around,
evenly: space-evenly,
)
),
"align-items": (
responsive: true,
property: align-items,
values: (
start: flex-start,
end: flex-end,
center: center,
baseline: baseline,
stretch: stretch,
)
),
"align-content": (
responsive: true,
property: align-content,
values: (
start: flex-start,
end: flex-end,
center: center,
between: space-between,
around: space-around,
stretch: stretch,
)
),
"align-self": (
responsive: true,
property: align-self,
values: (
auto: auto,
start: flex-start,
end: flex-end,
center: center,
baseline: baseline,
stretch: stretch,
)
),
"order": (
responsive: true,
property: order,
values: (
first: -1,
0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
last: 6,
),
),