align-self प्रॉपर्टी किसी एक फ्लेक्स आइटम के क्रॉस-एक्सिस संरेखण को ओवरराइड करती है, भले ही कंटेनर पर align-items कुछ भी सेट हो।
उदाहरण: एक आइटम को केंद्र में संरेखित करना
कंटेनर में align-items सेट नहीं है (डिफ़ॉल्ट stretch), लेकिन चौथा आइटम align-self: center से केंद्र में है।
<!DOCTYPE html>
<html>
<head>
<style>
.mycontainer {
display: flex;
height: 300px;
background-color: orange;
/* align-items सेट नहीं - डिफ़ॉल्ट stretch */
}
.mycontainer > div {
background-color: white;
text-align: center;
line-height: 90px;
font-size: 40px;
width: 100px;
margin: 50px;
}
</style>
</head>
<body>
<h1>क्विज़</h1>
<div class="mycontainer">
<div>Q1</div>
<div>Q2</div>
<div>Q3</div>
<div style="align-self: center">Q4</div> <!-- केवल यह आइटम केंद्र में -->
<div>Q5</div>
</div>
</body>
</html>
align-self के मान
auto(डिफ़ॉल्ट) - पैरेंट केalign-itemsको इनहेरिट करता हैflex-start- क्रॉस-एक्सिस की शुरुआत मेंflex-end- क्रॉस-एक्सिस के अंत मेंcenter- क्रॉस-एक्सिस पर केंद्र मेंbaseline- बेसलाइन पर संरेखितstretch- कंटेनर भरने के लिए फैलता है
व्यावहारिक उदाहरण
.form-group {
display: flex;
align-items: center; /* लेबल और इनपुट केंद्र में */
}
.form-group input[type="checkbox"] {
align-self: flex-start; /* चेकबॉक्स को ऊपर संरेखित */
}