Flex하면 뭐가 먼저 떠오르냐고?

이 Flex 말고,,, css의 flex를 알아보자~!~!
먼저 처음 진행했던 프로젝트에서 나는 float를 사용했다. 3년전쯤이니까.. flex를 알았다면 더 쉽게 할 수 있었을텐데!! 라는 생각이 드는데, 그때 작성했던 코드를 보면
.orgins_line p{ float: left;}
.orgins_line::after {
content: '';
display: block;
clear: both;
}
float로 왼쪽으로 정렬을 하고 after로 속성을 변경해주었다.
flex면 한 줄로 끝나는 수평정렬을 float 로 하면 정말 불편하다는 걸 알수있다
그렇다면 flex 로 수평정렬을 해보자!
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
.container{
display:flex;
}
이렇게 수평이 될 요소들의 부모에 display:flex; 를 적용시켜주면된다!
flex 만 작성했는데 수평정렬이 왜 되냐면 기본값이 row 이기 때문이다!
그렇다면 flex의 속성을 알아보자!
container에 적용하는 속성items에 적용하는 속성Flex Container를 설정한다.
display:flex 로 적용하는게 flex의 시작이다!
items의 주 축을 설정한다. row가 기본값!
row의 반대로
column의 반대로
Flex Items의 줄바꿈을 설정한다.
한줄에 표시하는 nowrap 이 기본값이다.
Items를 한 줄로 표시Items를 여러 줄로 묶는다Items를 wrap의 역 방향으로 여러 줄로 묶는다
.container {
display: flex;
flex-wrap: wrap;
width: 300px;
height: auto;
border: 5px solid red;
}
.container .item {
width: 120px;
height: 100px;
border: 3px solid blue;
}
주 축의 정렬 방법을 설정한다.
왼쪽부터 시작하는 flex:start가 기본값이다.
flex-start : Items를 시작점으로 정렬

flex-end : Items를 끝점으로 정렬

center : Items를 가운데 정렬

space-between : 시작 Item은 시작점에,
마지막 Item은 끝점에 정렬되고 나머지 Items는 사이에 고르게 정렬됨

space-around : Items를 균등한 여백을 포함하여 정렬

교차축의 정렬 방법이다.
stretch 가 기본값이다.
stretch : Container의 교차 축을 채우기 위해 Items를 늘림 - 교차축에 해당하는 너비가 auto일 경우에 교차축을 채우기 위해 자동으로 늘어난다.

flex-start : Items를 시작점으로 정렬

flex-end : Items를 끝점으로 정렬

center : Items를 가운데 정렬

space-between : 시작 Item은 시작점에,
마지막 Item은 끝점에 정렬되고 나머지 Items는 사이에 고르게 정렬됨

space-around : Items를 균등한 여백을 포함하여 정렬

교차 축에서 items의 정렬 방법을 설정한다.
stretch가 기본값이다.
items를 늘림 
flex-start : items를 각 줄의 시작점으로 정렬

flex-end : items를 각 줄의 끝점으로 정렬

center : items를 가운데 정렬

items를 문자 기준선에 정렬items를 위한 속성들 중 가장 많이 사용하는 속성을 알아보자!
flex item 순서를 설정flex item 의 증가 너비 비율을 설정 (기본값 : 0)flex item 의 감소 너비 비율을 설정 (기본값 : 1)grow 와 shrink는 같이 쓰는걸 추천한다. grow로 비율을 잡고 shrink로 찌그러지지 않게 비율 고정시킬 부분을 0으로 변경!
📍[출처] https://heropy.blog/2018/11/24/css-flexible-box/
박영웅강사님의 블로그를 참고했습니다~!📚