Свойство align-self
Свойство align-self кўндаланг ўқ бўйича аллахинча флекс-блок учун ва гриддаги аллахинча элемент учун вертикал ўқ бўйича мослашни белгилайди.
Аслада бу свойства align-items свойствасининг ўзига хос бўлган вазифасидир.
Синтаксис
селектор {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
Қийматлар
| Қиймат | Изоҳ |
|---|---|
flex-start |
Блок кўндаланг ўқнинг бошига жойлашади. |
flex-end |
Блок кўндаланг ўқнинг охирига жойлашади. |
center |
Блок кўндаланг ўқнинг марказида жойлашади. |
baseline |
Блок ўзининг асосий чизиғи бўйича мосланади.
Асосий чизиқ - бу ҳарфларнинг остингки қирраси бўйича ўтадиган хаёлний чизиқ бўлиб,
'p', 'q', 'y',
'g' каби ҳарфларнинг остингки қисми ҳисобга олинмайди.
|
stretch |
Блок кўндаланг ўқ бўйича бутун мавжуд жойни эгаллаб чўзилади,
лекин min-width ва max-width белгиланган бўлса, улар ҳисобга олинади.
Агар элемент учун эни ва баликлик белгиланган бўлса -
stretch эътиборга олинмайди.
|
auto |
Блок align-items свойствасида белгилангандек мосланади.
|
Стандарт қиймат: auto.
Мисол . Stretch қиймати
Бу мисолда барча блокларга flex-start қиймати белгиланган (align-items свойстваси),
учинчи блок учун эса align-self свойствасига
stretch қиймати берилган:
<div id="parent">
<div>1</div>
<div>2</div>
<div id="elem">3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: flex;
align-items: flex-start;
flex-direction: row;
border: 1px solid #696989;
height: 100px;
}
#parent > div {
min-width: 100px;
border: 1px solid #696989;
}
#elem {
align-self: stretch;
}
:
Мисол . Flex-end қиймати
Бу мисолда барча блоклар учун
align-items свойствасига flex-start қиймати берилган,
учинчи блок учун эса align-self свойствасига
flex-end қиймати берилган:
<div id="parent">
<div>1</div>
<div>2</div>
<div id="elem">3</div>
<div>4</div>
<div>5</div>
</div>
#parent {
display: flex;
align-items: flex-start;
flex-direction: row;
border: 1px solid #696989;
height: 100px;
}
#parent > div {
min-width: 100px;
border: 1px solid #696989;
}
#elem {
align-self: flex-end;
}
:
Мисол . Гридда вертикал ўқнинг боши бўйича мослаш
Биринчи элемент учун вертикал ўқнинг боши бўйича мослашни белгилаймиз:
<div id="parent">
<div id="elem1">1</div>
<div id="elem2">2</div>
<div id="elem3">3</div>
<div id="elem4">4</div>
</div>
#parent {
display: grid;
grid-template-columns: 100px 100px;
grid-template-rows: repeat(3, 1fr);
gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
align-self: start;
}
:
Мисол . Гридда вертикал ўқнинг маркази бўйича мослаш
Биринчи элемент учун вертикал ўқнинг маркази бўйича мослашни белгилаймиз:
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-columns: 100px 100px;
grid-template-rows: repeat(3, 1fr);
gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
align-self: center;
}
:
Мисол . Гридда вертикал ўқнинг охири бўйича мослаш
Гриддаги биринчи элемент учун вертикал ўқнинг охири бўйича мослашни белгилаймиз:
<div id="parent">
<div id="elem1">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
#parent {
display: grid;
grid-template-columns: 100px 100px;
grid-template-rows: repeat(3, 1fr);
gap: 10px;
padding: 10px;
border: 2px solid #696989;
height: 200px;
width: 400px;
}
#parent > div {
gap: 10px;
padding: 10px;
box-sizing: border-box;
border: 1px solid #696989;
}
#elem1 {
align-self: end;
}
:
Қуйидаларни ҳам кўринг
-
flex-directionсвойстваси,
флекс блокларнинг ўқлари йўналишини белгилайди -
justify-contentсвойстваси,
асосий ўқ бўйича мослашни белгилайди -
align-itemsсвойстваси,
кўндаланг ўқ бўйича мослашни белгилайди -
flex-wrapсвойстваси,
флекс блокларнинг кўп қatorлилигини белгилайди -
flex-flowсвойстваси,
flex-direction ва flex-wrap учун қисқартма -
orderсвойстваси,
флекс блокларнинг тартибини белгилайди -
flex-basisсвойстваси,
аллахинча флекс блокнинг ўлчамини белгилайди -
flex-growсвойстваси,
флекс блокларнинг "очиқкоʻзлиги"ни белгилайди -
flex-shrinkсвойстваси,
флекс блокларнинг қисқариш даражасини белгилайди -
flexсвойстваси,
flex-grow,flex-shrinkваflex-basisучун қисқартма