Properti align-self
Properti align-self mengatur perataan
sepanjang sumbu silang untuk blok flex individual
dan sepanjang sumbu vertikal untuk elemen individual
dalam grid.
Pada dasarnya properti ini mewakili
properti
align-items,
tapi untuk blok tertentu.
Sintaksis
selektor {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
Nilai
| Nilai | Deskripsi |
|---|---|
flex-start |
Blok menempel ke awal sumbu silang. |
flex-end |
Blok menempel ke akhir sumbu silang. |
center |
Blok berada di tengah sumbu silang. |
baseline |
Blok disejajarkan menurut garis dasar (baseline)nya.
Garis dasar adalah garis imajiner,
yang melewati tepi bawah karakter tanpa memperhitungkan bagian yang menggantung,
seperti pada huruf 'p', 'q', 'y',
'g'.
|
stretch |
Blok direntangkan, menempati semua ruang yang tersedia sepanjang sumbu silang,
tetapi tetap mempertimbangkan min-width dan max-width,
jika ditetapkan. Jika lebar dan tinggi untuk elemen sudah ditetapkan -
stretch akan diabaikan.
|
auto |
Blok akan disejajarkan seperti yang ditetapkan dalam properti
align-items.
|
Nilai default: auto.
Contoh . Nilai stretch
Dalam contoh ini, semua blok diberi nilai
flex-start (properti align-items),
dan untuk blok ketiga - align-self dengan nilai
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;
}
:
Contoh . Nilai flex-end
Dalam contoh ini, semua blok untuk properti
align-items diberi nilai flex-start,
dan untuk blok ketiga - align-self dengan nilai
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;
}
:
Contoh . Perataan ke awal sumbu vertikal dalam grid
Mari kita atur perataan untuk elemen pertama ke awal sumbu vertikal:
<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;
}
:
Contoh . Perataan ke tengah sumbu vertikal dalam grid
Mari kita atur perataan elemen pertama ke tengah sumbu vertikal:
<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;
}
:
Contoh . Perataan ke akhir sumbu vertikal dalam grid
Mari kita atur perataan untuk elemen pertama dalam grid ke akhir sumbu vertikal:
<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;
}
:
Lihat juga
-
properti
flex-direction,
yang menetapkan arah sumbu blok flex -
properti
justify-content,
yang menetapkan perataan sepanjang sumbu utama -
properti
align-items,
yang menetapkan perataan sepanjang sumbu silang -
properti
flex-wrap,
yang menetapkan multi-baris (multiline) blok flex -
properti
flex-flow,
penyingkatan untuk flex-direction dan flex-wrap -
properti
order,
yang menetapkan urutan blok flex -
properti
flex-basis,
yang menetapkan ukuran blok flex tertentu -
properti
flex-grow,
yang menetapkan sifat 'rakus' (greediness) blok flex -
properti
flex-shrink,
yang menetapkan sifat menyusut (shrinkability) blok flex -
properti
flex,
penyingkatan untukflex-grow,flex-shrinkdanflex-basis