Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> CSS

CSS align-items: stretch - फ्लेक्स आइटम्स को फैलाएं

align-items: stretch (डिफ़ॉल्ट मान) फ्लेक्स आइटम्स को क्रॉस-एक्सिस पर कंटेनर की पूरी ऊंचाई भरने के लिए फैलाता है, जब तक कि आइटम पर क्रॉस-आकार (height/width) स्पष्ट रूप से सेट न हो।

उदाहरण: stretch के साथ फ्लेक्स आइटम्स

कंटेनर की ऊंचाई 200px है। आइटम्स पर कोई ऊंचाई सेट नहीं है, इसलिए वे पूरी 200px ऊंचाई तक फैल जाते हैं।

<!DOCTYPE html>
<html>
<head>
  <style>
    .mycontainer {
      display: flex;
      height: 200px;
      background-color: red;
      align-items: stretch;  /* डिफ़ॉल्ट, स्पष्ट रूप से दिखाया गया */
      gap: 10px;
      padding: 10px;
    }
    .mycontainer > div {
      background-color: orange;
      text-align: center;
      line-height: 60px;
      font-size: 30px;
      width: 100px;
      /* height सेट नहीं - stretch से भर जाएगा */
    }
  </style>
</head>
<body>
  <h1>क्यू (Queue)</h1>
  <div class="mycontainer">
    <div>Q1</div>
    <div>Q2</div>
    <div>Q3</div>
    <div>Q4</div>
  </div>
</body>
</html>

stretch व्यवहार

  • आइटम पर height (row के लिए) या width (column के लिए) **नहीं** सेट हो
  • align-self: stretch आइटम पर न हो (जो डिफ़ॉल्ट है)
  • मार्जिन और पैडिंग सहित पूरा क्रॉस-आकार भरता है
  • min-height/max-height सीमाएं लागू होती हैं

stretch रोकने के लिए

/* आइटम पर निश्चित ऊंचाई सेट करें */
.item {
  height: 100px;  /* stretch ओवरराइड हो जाता है */
}

/* या align-self बदलें */
.item {
  align-self: center;  /* या flex-start, flex-end, baseline */
}

सामान्य उपयोग मामला

.equal-height-cards {
  display: flex;
  align-items: stretch;  /* सभी कार्ड समान ऊंचाई */
  gap: 20px;
}
.card {
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 8px;
  padding: 20px;
}
  1. - CSS flex-flow प्रॉपर्टी - दिशा और रैप एक साथ

    flex-flow शॉर्टहैंड प्रॉपर्टी flex-direction और flex-wrap को एक ही घोषणा में सेट करती है। यह फ्लेक्स कंटेनर के प्रवाह व्यवहार को संक्षिप्त रूप से परिभाषित करती है। उदाहरण: flex-flow: column wrap <!DOCTYPE html> <html> <head> <style> .mycontainer { display: flex;

  1. - CSS flex-basis प्रॉपर्टी - फ्लेक्स आइटम की प्रारंभिक लंबाई

    flex-basis प्रॉपर्टी फ्लेक्स आइटम का प्रारंभिक मुख्य आकार (main size) निर्धारित करती है, इससे पहले कि flex-grow या flex-shrink लागू हों। यह width (row के लिए) या height (column के लिए) जैसा व्यवहार करता है लेकिन फ्लेक्स संदर्भ में। उदाहरण: Q4 के लिए flex-basis: 350px Q4 का प्रारंभिक आकार 350px सेट

  1. - CSS align-content: flex-start - फ्लेक्स लाइन्स को शुरुआत में संरेखित करें

    align-content: flex-start मल्टी-लाइन फ्लेक्स कंटेनर में सभी फ्लेक्स लाइन्स को क्रॉस-एक्सिस की शुरुआत (start) में पैक करता है। Row दिशा में यह लाइन्स को **ऊपर** (टॉप) संरेखित करता है। उदाहरण: flex-start के साथ लाइन्स शीर्ष पर कंटेनर की ऊंचाई 200px है। 8 आइटम्स 4 लाइन्स बनाते हैं, सभी लाइन्स कंटेनर क