Savybė align-self

Savybė align-self nustato lygiavimą išilgai skersinės ašies atskiram flex-blokui ir išilgai vertikalios ašies atskiram elementui garde. Iš esmės ši savybė yra savybės align-items, atitikmuo, tačiau konkrečiam blokui.

Sintaksė

cssselektorius {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

Reikšmės

Reikšmė Aprašas
flex-start Blokas prigludęs prie skersinės ašies pradžios.
flex-end Blokas prigludęs prie skersinės ašies pabaigos.
center Blokas išdėstytas skersinės ašies centre.
baseline Blokas lygiuojamas pagal savo bazinę liniją. Bazinė linija - tai įsivaizduojama linija, einanti per simbolių apatinį kraštą neatsižvelgiant į išsikišimus, pavyzdžiui, kaip raidžių 'p', 'q', 'y', 'g' atveju.
stretch Blokas ištemptas, užimant visą prieinamą vietą išilgai skersinės ašies, tačiau vis tiek atsižvelgiama į min-width ir max-width, jei jos nustatytos. Jei nustatytas elemento plotis ir aukštis - stretch bus ignoruojamas.
auto Blokas bus išlygiuotas taip, kaip nustatyta savybėje align-items.

Numatytoji reikšmė: auto.

Pavyzdys . Reikšmė stretch

Šiame pavyzdyje visiems blokams nustatyta reikšmė flex-start (savybė align-items), o trečiajam blokui - align-self reikšmė 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;
}

Результат:

Pavyzdys . Reikšmė flex-end

Šiame pavyzdyje visiems blokams savybei align-items nustatyta reikšmė flex-start, o trečiajam blokui - align-self reikšmė 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;
}

Результат:

Pavyzdys . Lygiavimas pagal vertikalios ašies pradžią garde

Nustatykime pirmojo elemento lygiavimą pagal vertikalios ašies pradžią:

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;
}

Результат:

Pavyzdys . Lygiavimas pagal vertikalios ašies centrą garde

Nustatykime pirmojo elemento lygiavimą pagal vertikalios ašies centrą:

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;
}

Результат:

Pavyzdys . Lygiavimas pagal vertikalios ašies pabaigą garde

Nustatykime mūsų pirmojo elemento garde lygiavimą pagal vertikalios ašies pabaigą:

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;
}

Результат:

Taip pat žiūrėkite

  • savybė flex-direction,
    kuri nustato flex blokų ašių kryptį
  • savybė justify-content,
    kuri nustato lygiavimą pagal pagrindinę ašį
  • savybė align-items,
    kuri nustato lygiavimą išilgai skersinės ašies
  • savybė flex-wrap,
    kuri nustato flex blokų kelių eilučių savybę
  • savybė flex-flow,
    santrumpa flex-direction ir flex-wrap
  • savybė order,
    kuri nustato flex blokų tvarką
  • savybė flex-basis,
    kuri nustato konkretaus flex bloko dydį
  • savybė flex-grow,
    kuri nustato flex blokų "govingumą"
  • savybė flex-shrink,
    kuri nustato flex blokų susispaudimo savybę
  • savybė flex,
    santrumpa flex-grow, flex-shrink ir flex-basis