밍비
프로그램의 편린
밍비
전체 방문자
오늘
어제
  • 분류 전체보기 (64)
    • Spring (2)
    • TIL (23)
    • 프로그래머스 (12)
    • Udemy (16)
    • Typescript (2)
    • MERN (1)
    • AWS (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 서비스아키텍처
  • State 합치기
  • 리액트 reducer
  • useState
  • Page Moving
  • 함수형 update
  • 리스트 조회
  • react
  • 리액트
  • DOM
  • 수평 스케일링
  • API 호출
  • 컴포넌트트리
  • Edge Locations
  • 네이버커넥트
  • state 끌어올리기
  • useParams
  • 분산저장소
  • Availability Zones
  • Points of Presence
  • 리액트 생애주기
  • useRef
  • 데이터 수정
  • overflow-wrap
  • 한입 크기로 잘라먹는 리액트
  • 리액트 프로젝트 만들기
  • AWS Regions
  • 한입크기로잘라먹는리액트
  • useNavigate
  • state 관리

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
밍비

프로그램의 편린

[html/css] 100일 코딩 챌린지 - flex 박스
TIL

[html/css] 100일 코딩 챌린지 - flex 박스

2023. 4. 12. 21:57
728x90
목차

1. flex-direction

2. flex-wrap

3. flex-row

4. align-items

5. justify-content

css에서 정말 유용하게 쓰이는  중 하나가 flex박스입니다.

display 속성을 flex로 하게 되면, 주축을 설정해 편리하게 아이템을 배치할 수 있습니다.

header{
  display: flex;
}

위는 예시로, 헤더 박스의 display를 flex로 설정한 css 코드입니다.

Mozilla 공식 사이트에서 flex박스의 정보를 더 확인할 수 있습니다.

다음은 display:flex;를 설정했을 때 같이 사용할 수 있는 여러 부가적인 속성들입니다.

 

1. flex-direction

flex-direction: row;

주축의 방향을 설정하는 속성입니다.

주축(main-axis)이 수평이 되면, 교차 축(cross-axis)은 수직이 됩니다.

기본값은 row이기 때문에, flex-direction을 설정하지 않으면 기본적으로 아이템들이 가로로 배치된다.

이걸 column으로 바꾸면 주축은 수직이 되고, 교차 축은 수평이 됩니다.

 

2. flex-wrap

flex-wrap: nowrap;

wrap을 설정할지 말지 결정하는 속성입니다.

기본값은 nowrap이고, width를 따로 지정하지 않고 wrap으로 설정할 경우, 브라우저 창의 크기에 따라 컨테이너의 너비를 재정의합니다.

위 사진처럼 nowrap으로 설정할 경우, 이렇게 화면 크기를 줄일 경우 아이템이 잘리게 됩니다.

 

 

하지만 wrap으로 설정하면 화면 크기를 줄일 경우 아이템이 잘리지 않고 아래로 내려가게 됩니다.

 

3. flex-row

flex-flow: row nowrap;

flex-direction과 flex-wrap을 합친 것입니다.

direction과 wrap 여부를 차례대로 쓰면 됩니다.

 

4. align-items

align-items: center;

align-items는 아이템들을 수직적으로 원하는 위치에 정렬시킵니다.

 

위 화면처럼 align-items: center;를 사용하면 아이템들을 모두 가운데에 맞춰집니다.

 

align-items: flex-start;를 쓰면 모두 위에 맞춰집니다.

 

5. justify-content

justify-content: center;

justify-content는 수평적으로 아이템들을 배치할 수 있습니다.

justify-content 속성에는 다양한 종류가 있습니다.

 

justify-content: space-between;

먼저 space-between은 flex 박스가 컨테이너 안에 있는 요소들을 왼쪽/오른쪽 양 끝으로 보내,

가운데에 공간이 생기게 합니다.

이렇게 양 끝에 item이 있는 것을 확인 가능합니다.

 

(참고로, 브라우저 검사에 들어가 컨테이너쪽 태그의 flex 버튼을 누르면 이렇게 빈 공간을 빗금으로 확인할 수 있습니다.)

 

 

이외에도 space-around는 각 아이템의 양쪽에 같은 공간을 할당해주고,

(그럼 가운데 공간은, 양 옆의 공간의 2배만큼의 공간이 생길 것입니다)

space-evenly는 전체 기준으로 공간을 똑같이 나눕니다.

 

이 외에도 아이템들을 왼쪽, 오른쪽으로 미는 flex-start와 flex-end도 있습니다.

 

728x90

'TIL' 카테고리의 다른 글

[TIL] 코드 이해하기...프젝 시작 전 각종 복습 벼락치기  (1) 2023.12.22
[html/css] 100일 코딩 챌린지 - css position  (0) 2023.04.13
[Git/Github] 100일 코딩 챌린지 - 깃허브란?  (0) 2023.04.12
[Git] 100일 코딩 챌린지 - Git 기본 명령어  (2) 2023.04.10
[HTML/CSS] 100일 코딩 챌린지 - 실습(9, 10일차)  (0) 2023.04.07
    밍비
    밍비

    티스토리툴바