თვისება align-self

თვისება align-self აკონტროლებს ცალკეული flex-ბლოკის გასწვრივი ღერძის გასწორებას და ცალკეული ელემენტის ვერტიკალური ღერძის გასწორებას grid-ში. არსებითად, ეს თვისება წარმოადგენს 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;
}

Результат:

მაგალითი . ვერტიკალური ღერძის დასაწყისზე გასწორება grid-ში

დავსეტოთ პირველი ელემენტის გასწორება ვერტიკალური ღერძის დასაწყისზე:

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

Результат:

მაგალითი . ვერტიკალური ღერძის ცენტრზე გასწორება grid-ში

დავსეტოთ პირველი ელემენტის გასწორება ვერტიკალური ღერძის ცენტრზე:

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

Результат:

მაგალითი . ვერტიკალური ღერძის ბოლოზე გასწორება grid-ში

დავსეტოთ ჩვენი პირველი ელემენტის გასწორება grid-ში ვერტიკალური ღერძის ბოლოზე:

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,
    რომელიც ადგენს flex ბლოკების ღერძების მიმართულებას
  • თვისება justify-content,
    რომელიც აკონტროლებს გასწორებას მთავარი ღერძის მიმართ
  • თვისება align-items,
    რომელიც აკონტროლებს გასწორებას გასწვრივი ღერძის მიმართ
  • თვისება flex-wrap,
    რომელიც აკონტროლებს flex ბლოკების მრავალსტრიქონიანობას
  • თვისება flex-flow,
    შემოკლება flex-direction-ისა და flex-wrap-ისთვის
  • თვისება order,
    რომელიც ადგენს flex ბლოკების თანმიმდევრობას
  • თვისება flex-basis,
    რომელიც ადგენს კონკრეტული flex ბლოკის ზომას
  • თვისება flex-grow,
    რომელიც ადგენს flex ბლოკების "მოწევას"
  • თვისება flex-shrink,
    რომელიც ადგენს flex ბლოკების შეკუმშვას
  • თვისება flex,
    შემოკლება flex-grow-ის, flex-shrink-ის და flex-basis-ისთვის