Свойство align-self

Свойство align-self кўндаланг ўқ бўйича аллахинча флекс-блок учун ва гриддаги аллахинча элемент учун вертикал ўқ бўйича мослашни белгилайди. Аслада бу свойства align-items свойствасининг ўзига хос бўлган вазифасидир.

Синтаксис

cssселектор {
  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 қиймати берилган:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div id="elem">3</div>
  <div>4</div>
  <div>5</div>
</div>
css#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 қиймати берилган:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div id="elem">3</div>
  <div>4</div>
  <div>5</div>
</div>
css#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;
}

Результат:

Мисол . Гридда вертикал ўқнинг боши бўйича мослаш

Биринчи элемент учун вертикал ўқнинг боши бўйича мослашни белгилаймиз:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#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;
}

Результат:

Мисол . Гридда вертикал ўқнинг маркази бўйича мослаш

Биринчи элемент учун вертикал ўқнинг маркази бўйича мослашни белгилаймиз:

html<div id="parent">
  <div id="elem1">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#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;
}

Результат:

Мисол . Гридда вертикал ўқнинг охири бўйича мослаш

Гриддаги биринчи элемент учун вертикал ўқнинг охири бўйича мослашни белгилаймиз:

html<div id="parent">
  <div id="elem1">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
</div>
css#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 учун қисқартма