CSS Flex 기초

2023. 10. 2. 16:24·프로그래밍 언어/HTML & CSS

flex는 요소를 포함하는 부모에게 적용하는 속성과 자식에게 적용하는 속성으로 나뉜다.

 

 

 

 

[flex 컨테이너 부모에게 적용되는 속성]

 

display를 flex로 지정하면 플렉스 방식으로 자식 요소들을 배치하게 됨

 

 

flex-direction에 따라 안에 있는 내용들의 정렬하는 축이 달라진다. 

 

- flex-direction : row   세로 정렬(왼쪽에서 오른쪽으로)

- flex-direction : column   가로 정렬 (위에서 아래로)

- flex-direction : row-reverse  세로 정렬(오른쪽에서 왼쪽으로)

- flex-direction : column   가로 정렬(아래에서 위로)

 

위의 값에 따라 justify-content, align-items, align-content등의 속성들이 작용할 방향이 결정됨

 

 

 

flex-wrap은 내부 요소의 개수 X 길이가 컨테이너를 넘어갈 때 이들을 여러 줄에 걸쳐 나열할지 여부를 정함

 

 

 

justify-content는 메인 축에서 아이템들을 정렬할 방식을 정함

 

- justify-content : flex-start : direction에서 설정했던 시작방향부터 나열됨

- justify-content : center : 가운데 정렬

- justify-content: flex-end: flex-start와 다르게, 끝으로 온다.

- justify-content : space-between : 양쪽 요소를 끝으로 보내고, 가운데에 동일하게 스페이스를 넣어준다.

- justify-content: space-around : 각 요소의 양쪽에 공간을 넣어준다.

- justify-content : space-evenly : 양 끝과, 요소들 사이에 똑같은 크기의 공간을 넣어준다.

 

flex-start(end)는 row(column)-reverse의 영향을 받는다는 점에서 start(end)와 다르다.   되도록 flex- 가 붙은 것을 사용

 

 

 

align-item은 수직 축(메인 축의 반대)에서 아이템들을 정렬할 방식을 정한다.

예를 들어 flex-direction이 row면 column방향에서 정렬할 방식을 정하는 것이다.

 

wrap으로 아이템이 여러 줄이 되면 align-content를 사용해서, 보다 다양한 방식으로 정렬할 수 있음

 

align-item은 container안에서 전체 item의 배치를 어떻게 할 것이냐에 대한 속성 

align-content는 item의 줄간격을 어떻게 배치할 것이냐에 대한 속성

 

 

 

gap 속성은 아이템 간 간격을 줄 수 있으며, 두 개의 값을 넣어서 가로 간격, 세로 간격을 다르게 지정하는 것도 가능

 

 

 

 

[flex 컨테이너 안 자식에게 적용되는 속성]

 

 

flex-basis는 메인 축 상의 길이로, 컨테이너의 flex-direction값에 따라 너비 또는 높이 값으로 작용 (기본값은 auto)

 

 

 

flex-grow는 빈 공간을 채울지 여부, 채울 시 다른 아이템들의 이동 속성값에 비례해서 공백을 나눠가짐. (기본값은 0)

숫자에 비례해서 공간을 나눠가진다.

 

ex) 1번에 flex-grow : 1을 주고 2번에 flex-grow : 2를 적용하면 1:2 비율로 빈 공간을 채움

 

 

 

flex-shrink는 전체 공간이 부족할 때, 해당 아이템의 길이가 콘텐츠의 너비 또는 flex-basis로 지정한 값보다 작아질 수 있을지를 지정. 기본값은 1, 증가할수록 길이가 많이 줄어든다. 

 

ex) flex-shrink : 0 이면 너비를 나눠줄 생각이 없다는 뜻이다.

 

 

 

flex-grow는 공간이 넉넉한 상황에서 얼마나 공간을 더 가져갈지를 정하는 속성

flex-shrink는 공간이 부족한 상황에서 얼마나 더 나눠줄지를 정하는 속성

'프로그래밍 언어 > HTML & CSS' 카테고리의 다른 글

CSS Flexbox 개념을 정리해보자!  (0) 2023.12.24
HTML 기초 - 2  (0) 2023.10.03
CSS 기초 - 3  (0) 2023.10.01
CSS 기초 - 2  (0) 2023.09.26
CSS 기초 - 1  (0) 2023.09.25
'프로그래밍 언어/HTML & CSS' 카테고리의 다른 글
  • CSS Flexbox 개념을 정리해보자!
  • HTML 기초 - 2
  • CSS 기초 - 3
  • CSS 기초 - 2
tteokbokki-master
tteokbokki-master
공부하며 알아가는 걸 조금씩 정리하고 있어요
  • tteokbokki-master
    용로그
    tteokbokki-master
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍 언어
        • HTML & CSS
        • JavaScript
        • React 기초
        • 파이썬 기초
        • TanStack-Query
        • C언어 기초
        • git
        • 리눅스
        • 코딩테스트 공부
      • 개발 지식
      • 언어학
        • 의미론
      • 회고 및 기록
      • 프로젝트
        • TodoList 만들기
        • 학수고대 프로젝트
      • 기타
        • [JS-0기] 한입 FE 챌린지
        • 서평
  • 인기 글

  • 글쓰기 / 관리
  • hELLO· Designed By정상우.v4.10.3
tteokbokki-master
CSS Flex 기초
상단으로

티스토리툴바