CSS skills(4) - display:flex;

2021. 12. 30. 20:15·CSS
반응형

 

이번 포스팅에서는 display:flex;에 대해 알아보도록 하자.

지금까지는 레이아웃을 구성할 때 주로 position과 float을 이용하여 구성하였다. 혹은 부모, 자식 관계에 있는 엘리먼트들의 경우 아래와 같이 부모 엘리먼트에 padding을, 자식 엘리먼트에 margin을 부여해서 컨텐츠들을 정렬하였다.

이번에 알아볼 display:flex;는 이러한 복잡한 방식을 동원하지 않고도 좀 더 편하게 레이아웃을 구성할 수 있게끔 도와주는 속성이다. 한마디로, 레이아웃을 구성할 때 알아두면 무척 편하고 좋은 속성이다. 

 

위의 그림과 같이 레이아웃이 구성되어 있다고 했을 때 display:flex;는 container에 그 속성값을 부여한다. 다시말해, display:flex;는 정렬의 주체가 부모에게 있다. 부모 엘리먼트에 display:flex; 속성을 부여하고 자식 엘리먼트를 어떻게 정렬할지 정해주는 방식이다. display:flex;가 부여됐을 때 적용할 수 있는 여러 속성들을 사용해서 container 안의 item들을 정렬하게 된다. 

 

display:flex;에서의 핵심 포인트는 다음의 두가지 이다.

 

  • display:flex;에는 container에 꾸며줄 수 있는 속성값과 item 각각에 꾸며줄 수 있는 속성값이 있다.
  • display:flex;를 적용할 때는 두가지 축이 있는데, 하나는 중심축(main axis)이고 다른 하나는 반대축(cross axis)이다. 그리고 이 축은 수평방향이냐 수직방향이냐에 따라 바뀔 수 있다.

해당 포스팅에서는 display:flex;에 사용되는 속성들에 대해서는 간략히 언급만하고 넘어가도록 하겠다. display:flex;에 사용되는 속성들의 자세한 효과에 대해 알아보기 위해서는 구글에 "flex 게구리게임"을 검색해서 해당 게임을 플레이 해보길 바란다. 또한 flex 속성에 대해 자세한 가이드가 나와있는 사이트도 첨부하도록 하겠다.

 

container에 적용하는 속성들

  • flex-direction: row / column / row-reverse / column-reverse ;  아이템들의 정렬을 row방향으로 하거나  column방향으로 할 수 있다. 기본값은 row;
  • flex-wrap: wrap ;  아이템들이 한줄에 꽉 차게 되면 자동으로 다음 라인으로 넘어간다. 기본값은 nowrap;
  • flex-flow: row nowrap;  위의 두가지를 한번에 사용하게 해주는 속성.
  • justify-content: flex-start / flex-end / center / space-around / space-evenly / space-between ;  중심축 기준 아이템들을 어떻게 배치할지 결정하는 속성.
  • align-items: flex-start / flex-end / center / baseline ;  반대축에서 아이템들을 어떻게 배치할지 결정하는 속성.

item에 적용하는 속성들

  • flex-grow , flex-shrink  :   container의 사이즈가 바뀌었을 때 item들이 얼마나 늘어나고 줄어들어야 하는지를 결정하는 속성.
  • align-self: flex-start / flex-end / center / baseline  :  아이템별로 아이템들을 정렬하고 싶을 때 사용하는 속성.

 

 

 

 

 

 

https://flexboxfroggy.com/#ko  =>  flex 개구리 게임

https://css-tricks.com/snippets/css/a-guide-to-flexbox/  =>  flexbox 가이드

 

반응형

'CSS' 카테고리의 다른 글

CSS 응용(2) - layer popup 만들기  (0) 2021.12.28
CSS skills(3) - !important , class 여러 개 주기 , input:focus { }  (0) 2021.12.28
CSS 응용(1) - 햄버거 버튼(메뉴바) 만들기  (1) 2021.12.27
CSS skills(2) - 속성 선택자 , display:none; , input[id=" "]:checked{ } , 인접 접근자 + , :nth-child  (0) 2021.12.27
CSS skills(1) - display, float, position  (0) 2021.12.22
'CSS' 카테고리의 다른 글
  • CSS 응용(2) - layer popup 만들기
  • CSS skills(3) - !important , class 여러 개 주기 , input:focus { }
  • CSS 응용(1) - 햄버거 버튼(메뉴바) 만들기
  • CSS skills(2) - 속성 선택자 , display:none; , input[id=" "]:checked{ } , 인접 접근자 + , :nth-child
bitkunst
bitkunst
Ever tried, Ever failed, No matter. Try again, Fail again, Fail better.
  • bitkunst
    THE DEVELOPER
    bitkunst
  • 전체
    오늘
    어제
  • bitkunst GitHub
    • 분류 전체보기 (154)
      • Setup (1)
      • HTML (7)
      • CSS (10)
      • Go (2)
      • JavaScript (14)
      • TypeScript (3)
      • Node (34)
        • Node.js (7)
        • Express (19)
        • NestJS (8)
      • React (19)
      • MySQL (6)
      • BlockChain (14)
      • Ethereum (20)
      • AWS (5)
      • Linux (2)
      • Infra (2)
        • Docker (2)
      • Testing (2)
      • ABOUT CS (11)
      • 토이 프로젝트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    css
    프론트엔드
    타입스크립트 블록체인 만들기
    이더리움
    블록체인 지갑 서버 만들기
    웹
    React
    Nodejs
    자바스크립트
    웹개발
    AWS EC2
    타입스크립트로 블록체인 만들기
    AWS
    CSS Style
    웹프론트엔드
    블록체인
    TypeScript Blockchain
    이더리움 스마트 컨트랙트
    nestJS
    리액트
    타입스크립트 블록 체인
    블록체인 트랜잭션 만들기
    JavaScript
    nodejs mysql
    redux
    html
    Nest
    타입스크립트로 블록 체인 만들기
    Ethereum
    Blockchain
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
bitkunst
CSS skills(4) - display:flex;
상단으로

티스토리툴바