
flex와 같이, grid에도 각 행과 열을 정렬하는 속성이 존재합니다.
오늘은 이를 알아보겠습니다.
Grid의 content와 items
grid에서도 justify-content가 존재합니다.
속성에 적용하는 값 또한 flex와 동일합니다.
start, center, end 그리고 space-between, space-around, space-evenly 등이 존재합니다.
그렇다면, grid에서는 어떤 기준으로 정렬을 하는지 알아보겠습니다.
샘플 입니다.
.grid-container{
width: 600px;
height: 600px;
margin: 0 auto;
display: grid;
grid-template-rows : 150px 150px 150px;
grid-template-columns: 150px 150px 150px;
border:2px solid black;
background-color: #ffeded;
}
.grid-item{
width: 100px;
height: 100px;
border: 2px solid black;
background-color: gray;
box-sizing: border-box;
}
.item{
width: 80px;
height: 80px;
background-color: yellow;
font-size: 20px;
font-weight: bolder;
text-align: center;
line-height: 80px;
border: 2px solid white;
box-sizing: border-box;
}
<div class="main-container">
<div class="grid-container">
<div class="grid-item">
<div class="item"> 1 </div>
</div>
<div class="grid-item">
<div class="item"> 2 </div>
</div>
<div class="grid-item">
<div class="item"> 3 </div>
</div>
<div class="grid-item">
<div class="item"> 4 </div>
</div>
<div class="grid-item">
<div class="item"> 5 </div>
</div>
<div class="grid-item">
<div class="item">6</div>
</div>
<div class="grid-item">
<div class="item">7</div>
</div>
<div class="grid-item">
<div class="item">8</div>
</div>
<div class="grid-item">
<div class="item">9</div>
</div>
</div>
</div>
적용 스타일과 html입니다.
.grid-container 에 justify-content : center와 space-between을 적용해보겠습니다.
justify-content: center; 는 행쪽 cell의 정렬이 가운데로 몰렸고,
justify-content: space-between;는 행마다 간격을 둔 채 정렬되었습니다.
이와 같이 justify-content;는 행쪽 cell의 정렬을 설정합니다.
grid에는 justify-items 또한 존재합니다.
align-items와 같이 stretch, start, center, end 로 존재합니다.
justify-items: center를 적용해보도록 하겠습니다.
구분을 쉽게 하기 위해 본래 차지하는 영역을 테두리씌워보았습니다.
justify-content 와의 차이점을 아시겠나요?
justify-items는 justify-content와는 달리 셀이 아닌 셀 내부의 아이템을 정렬합니다
열방향은 align-content와 align-items를 사용합니다.
align-content와 align-items 또한 마찬가지로,
content는 그리드 셀을, items는 그리드 셀 내부의 아이템을 정렬합니다.
따라서 content와 items를 사용하기 위해서
content는 아이템은 그대로 둔 채 셀 자체를 옮기기 때문에 셀 외부에 여유공간이 존재해야 하고,
items는 셀은 그대로 둔 채 내부 아이템을 정렬하기 때문에 셀 내부에 여유공간이 존재해야 합니다.
아래 표는 justify-content와 justify-items, align-content와 align-items의 차이점을 정리한 표 입니다.
'웹 프론트 엔드 정리본' 카테고리의 다른 글
화면 구성하기 : 폼(form) - input과 button (0) | 2024.10.31 |
---|---|
화면 구성하기 - 박스모델의 구조 (0) | 2024.10.21 |
화면구성하기 - grid template : rows,columns,areas (0) | 2024.10.16 |
화면 구성하기 - grid (0) | 2024.10.14 |
화면 구성하기 - flex direction과 다양한 정렬방법 (0) | 2024.10.11 |