구성요소
주축(main axis) : 플렉스 박스의 진행 방향과 수평한 축
교차축(cross axis) : 주축과 수직하는 축
플렉스 컨테이너(flex-container) : display 속성값으로 inlin
e-flex가 적용된 요소
플렉스 아이템(flex item) : 플렉스 컨테이너와 자식 관계를 이루는 태그 요소
기본 속성
display: flex, inline-flex(플렉스 박스 스스로에 대한 flex)
flex-direction : 플렉스 박스 레이아웃의 주축 방향 지정
속성값 | 설명 |
---|---|
row | 주축 방향 왼 -> 오 |
row-reverse | 오 -> 왼 |
column | 위 -> 아래 |
column-reverse | 아래 -> 위 |
flex-wrap : 플렉스 아이템의 자동 줄 바꿈 여부를 지정
속성값 | 설명 |
---|---|
nowrap | 아이템이 컨테이너를 벗어나도 무시 |
wrap | 아이템이 컨테이너를 벗어나면 줄바꿈 |
wrap-reverse | -> 아래 |
flex-flow : direction과 wrap 속성을 한번에 사용할 수 있는 속성
align-content : 플렉스 아이템이 두 줄 이상일 때 교차축 방향으로 정렬
align-self : 각각의 플렉스 아이템을 교차축 방향으로 정렬 (각각 정렬하고 싶을 때 사용)
(개발자 도구에서 grid 버튼 눌러서 확인 가능)
grid-template-rows: 50px 50px;
grid-template-rows: 1fr 1fr; // 비율
grid-template-rows: minmax(55px, 70px) minmax(55px, 70px) minmax(55px, 70px);
grid-template-rows: repeat(3, 70px);
grid-template-rows: repeat(3, minmax(55px, 70px));
grid-template-columns: 50px 100px auto;
grid-template-columns: 2fr 1fr 1fr;
grid-template-columns: minmax(55px, 70px) minmax(55px, 70px) minmax(55px, 70px);
grid-template-columns: repeat(3, minmax(70px, auto));
grid-template-columns: repeat(auto-fill, minmax(calc(100%/8), auto));
종류 | 방향 | 전체 |
---|---|---|
align-items | 세로 | O |
align-self | 세로 | X |
justify-items | 가로 | O |
justify-self | 가로 | X |
.container2 {
width: 500px;
height: 500px;
display: grid;
border: 1px solid black;
grid-template-areas:
"r r r"
"sb yel o"
"sb pur o"
"yg yg yg";
grid-template-columns: 1fr 2fr 1fr;
}
.red2 {
background-color: red;
grid-area: r;
}
.skyblue2 {
background-color: skyblue;
grid-area: sb;
}
.yellow2 {
background-color: yellow;
grid-area: yel;
}
.purple2 {
background-color: purple;
grid-area: pur;
}
.orange2 {
background-color: orange;
grid-area: o;
}
.yellowgreen2 {
background-color: yellowgreen;
grid-area: yg;
}
결과
// 2번에서 시작해서 4번에서 끝나는 경우
grid-column : 2 / 4;
grid-row : 2 / 4;
+++ auto-fit과 auto-fill의 차이
자동 채우기(auto-fill) : 채움(fill)은 반복 횟수 주어질 경우, 크기 또는 최소, 최대 크기 만큼 계산하여 처리하지만 정해진 수 이상은 처리X
자동 맞춤(auto-fit) : 맞춤(fit)은 채움과 유사하게 작동하지만, 그리드 내부에 빈 트랙이 존재할 경우 반복 횟수만큼 반복된 트랙을 빈 트랙 공간을 나눠 핏팅(fitting)