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

CSS align-content: stretch - फ्लेक्स लाइन्स को फैलाएं

align-content: stretch (डिफ़ॉल्ट मान) मल्टी-लाइन फ्लेक्स कंटेनर में फ्लेक्स लाइन्स को क्रॉस-एक्सिस पर कंटेनर की पूरी ऊंचाई भरने के लिए फैलाता है। प्रत्येक लाइन समान ऊंचाई पाती है।

उदाहरण: stretch के साथ फ्लेक्स लाइन्स फैलाई गईं

कंटेनर की ऊंचाई 200px है। 8 आइटम्स 2-2 की 4 लाइन्स बनाते हैं। प्रत्येक लाइन को 50px (200/4) ऊंचाई मिलती है।

<!DOCTYPE html>
<html>
<head>
  <style>
    .mycontainer {
      display: flex;
      height: 200px;
      background-color: red;
      align-content: stretch;  /* डिफ़ॉल्ट */
      flex-wrap: wrap;
      gap: 10px;
      padding: 10px;
    }
    .mycontainer > div {
      background-color: yellow;
      text-align: center;
      line-height: 60px;
      font-size: 30px;
      width: 100px;
    }
  </style>
</head>
<body>
  <h1>क्यू (Queue)</h1>
  <div class="mycontainer">
    <div>Q1</div>
    <div>Q2</div>
    <div>Q3</div>
    <div>Q4</div>
    <div>Q5</div>
    <div>Q6</div>
    <div>Q7</div>
    <div>Q8</div>
  </div></body></html>

stretch कैसे काम करता है

  1. कंटेनर की क्रॉस-एक्सिस आकार (ऊंचाई row के लिए) लें
  2. फ्लेक्स लाइन्स की संख्या से विभाजित करें
  3. प्रत्येक लाइन को वह ऊंचाई दें (मार्जिन/पैडिंग सहित)
  4. आइटम्स जिनकी align-self: stretch है (डिफ़ॉल्ट), लाइन भरते हैं

stretch रोकने के लिए

.mycontainer {
  align-content: flex-start;  /* या center, flex-end, space-between, आदि */
}

/* या कंटेनर की ऊंचाई ऑटो रखें */
.mycontainer {
  height: auto;  /* stretch का कोई प्रभाव नहीं */
}

व्यावहारिक: समान ऊंचाई वाली कार्ड पंक्तियाँ

.card-grid {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;  /* डिफ़ॉल्ट, सभी पंक्तियाँ समान ऊंचाई */
  min-height: 500px;
}
.card {
  display: flex;
  flex-direction: column;
  /* कार्ड कंटेंट पंक्ति ऊंचाई भरता है */
}
  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 लाइन्स बनाते हैं, सभी लाइन्स कंटेनर क