코딩공부/내가 사랑할 CSS

Flex에 대해

지구야 사랑해 2022. 2. 16. 11:27

flex

flexible-box를 사용할 수 있는 display 속성이다.

 

각각의 요소들을 item으로 보고 item들을 효과적으로 정렬하고 배치할 수 있도록 도와주기 때문에

 

flex를 잘 이해하고 습득하면아주 효과적인 웹 페이지를 만들 수 있다.

 

flex는 두 가지 관점에서 볼 수 있는데 하나는 부모 역할을 하는 container 입장이고,

 

두 번째는 각각의 container 안에서 자식 역할을 하는 item 입장 이다.

 

 

먼저 container 입장에서 사용할 수 있는 속성을 알아보자.

 

 

Container

 

1. flex-direction

 

flex-direction은 안에 있는 item들을 정렬할 때 

 

가로로 정렬할지 세로로 정렬할지를 선택할 수 있다. 정방향 가로정렬이 기본값이다.

 

 

.container {
  flex-direction: row | row-reverse | column | column-reverse;
}

 

2. flex-wrap

flex 는 기본적으로 item을 한줄에 정렬하려고 한다.

 

이때 중간에 끊고 줄바꿈을 하고 싶다면 flex-wrap을 사용할 수 있다. no-wrap이 기본값이다.

.container {
  flex-wrap: nowrap | wrap | wrap-reverse;
}

 

 

3. justify-content

메인 축을 중심으로 아이템들을 여백과 함께 정렬하는 방식을 지정할 수있다.


flex-start가 기본 값이며 중앙 정렬을 원할 경우 center나 space-around등을 많이 사용한다.

.container {  
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly | start | end | left | right ... + safe | unsafe; 
}

 

 

4. align-content

flex-wrap 을 사용해서 item이 여러 줄로 존재하고 있을 때, 여백과 함께 정렬하는 방식을 지정할 수 있다.

 

기본값은 flex-start이며, 한 줄 밖에 없을 때는 justify-content와 똑같다.

 

5. align-items

container 안에서 items 들간의 세로정렬을 하는데 쓰인다.

.container {
  align-items: stretch | flex-start | flex-end | center | baseline | first baseline | last baseline | start | end | self-start | self-end + ... safe | unsafe;
}

 

 

item

1. order

각각의 아이템은 기본적으로 html 에 나열된 순서대로 우선순위가 매겨진다. 하지만 order를 임의로 지정하면 지정한 order 순서대로 정렬할 수 있다.

2. flex-grow

flex grow는 각 아이템들이 공간을 차지하는 비율을 지정한다. 기본 값은 모두 1이며 모두 1일 경우에는 공간이 균등하게 분배되지만 한 아이템이 2이면 해당 아이템에만 2배의 공간을 할당하고 나머지 공간을 남은 아이템들이 균등하게 가져간다.

기본값으로 flex : 1이렇게 만 적어도 된다.

 

 

출처 : CSS 기초 내용 정리

'코딩공부 > 내가 사랑할 CSS' 카테고리의 다른 글

CSS 선택자, 결합자 (미완성)  (0) 2022.02.16