justify-self 가 가로 정렬 이었다면

 

align-self 는 세로 정렬이다.

 

<style>
.container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
  }
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  .item3 {background: PaleTurquoise;}
  .item4{background:LightPink;}
  .item5{background:PaleGreen;}

  
</style>

<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>


align-self

3번 상자에 align-self 속성을 사용해보자

 

셀 내부의 세로 정렬

  • start :  셀 내부의 위쪽에 정렬
  • center : 셀 내부의 중심에 정렬
  • end : 셀 내부의 밑에 정렬
.item3 {
    background: PaleTurquoise;
    align-self : start;
  }


.item3 {
    background: PaleTurquoise;
    align-self : center;
  }


.item3 {
    background: PaleTurquoise;
    align-self : end;
  }


 

 

align-items

 

모든 항목에 대해 그리드 세로 정렬 

 

<style>
.container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
  }
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  .item3 {background: PaleTurquoise;}
  .item4{background:LightPink;}
  .item5{background:PaleGreen;}

  
</style>

<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>


 

 align-items : start;

 

.container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
    
     align-items : start;
  }

위쪽으로 정렬

 


 

align-items : center;

.container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
    
     align-items : center;
  }

세로 가운데 정렬!!! ( 텍스트 세로 가운데 정렬을 하기 위해 vertical-align이나 baseline , line-height 속성을 공부하여 

적용 했는데 다 실패했었다)

 

이제 그리드 align-self , align-items를 사용하면 세로 가운데 정렬은 문제없다!!!

 

 


align-items : end;
  

아래쪽으로 정렬

.container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
    
     align-items : end;
  }

 


실제로 화면 UI를 구현 하던 중

카드 폼 안에있는 글자를 세로 가운데 정렬하려고 많은 시행 착오를 겪었다.

const CardInfo = styled.div`
    
    display: grid;
    margin-left: 10px;
`;

div 태그 안에 있어서 vertical-align은 적용 되지 않았다.

 

vertical-align같은 경우 inline 이나 inline-block 요소에만 적용 되었다.

 

 

이때 align-items 속성을 사용하여

 

const CardInfo = styled.div`
    
    display: grid;
    align-items: center;
    margin-left: 10px;
`;

세로 가운데 정렬을 할 수 있었다.!!!

 

 

만약

 

align-items: end를 사용하면?

 

 

const CardInfo = styled.div`
    
    display: grid;
    align-items: end;
    margin-left: 10px;
`;

텍스트가 밑에 있는 것을 볼 수 있다.

 

 

 

'CSS' 카테고리의 다른 글

[bootstrap] button 속성  (0) 2021.01.10
[CSS] display: flex (justify-content)  (0) 2021.01.01
[CSS] display: grid - justify-self, justify-items  (0) 2020.12.29
HTML, CSS 색 코드  (0) 2020.12.21
display : inline , block, inline-block  (0) 2020.12.21

+ Recent posts