Flexbox 가이드

3414 단어 flexboxcsswebdev
Flexbox는 CSS의 진정한 혁명으로 1차원 레이아웃을 구축하는 방식을 완전히 바꿔 놓았습니다. 다양한 방향과 순서로 요소를 서로 쉽게 정렬할 수 있습니다.

요소가 플렉스 항목으로 배치되면 두 축을 따라 배치됩니다.


  • 기본 축은 플렉스 항목이 배치되는 방향으로 실행되는 축입니다. 기본 방향은 수평 왼쪽에서 오른쪽입니다.
  • 교차축은 플렉스 아이템이 배치되는 방향에 수직으로 움직이는 축입니다.
  • display: flex가 있는 상위 요소를 flex 컨테이너라고 합니다.
  • 플렉스 컨테이너 내부에 유연한 상자로 배치된 항목을 플렉스 항목이라고 합니다
  • .

    Flexbox 컨테이너 속성


  • 디스플레이: 모든 직계 자식에 대해 플렉스 컨텍스트를 활성화합니다.

  • .container {
      display: flex;
    }
    


  • flex-direction: 수평으로 왼쪽에서 오른쪽으로 또는 수직으로 위에서 아래로 배치하여 플렉스 컨테이너를 가능하게 합니다.

  • .container {
      flex-direction: row | row-reverse | column | column-reverse;
    }
    
    /*
    row (default): left to right.
    row-reverse: right to left.
    column: top to bottom.
    column-reverse: bottom to top.
    */
    


  • flex-wrap: 기본적으로 플렉스 항목은 모두 한 줄에 맞추려고 합니다. 이를 변경하고 이 속성을 사용하여 필요에 따라 항목을 래핑하도록 허용할 수 있습니다.

  • .container {
      flex-wrap: nowrap | wrap | wrap-reverse;
    }
    
    /*
    nowrap (default): all flex items will be on one line
    wrap: flex items will wrap onto multiple lines, from top to bottom.
    wrap-reverse: flex items will wrap onto multiple lines from bottom to top.
    */
    


  • justify-content: 주축에서 플렉스 항목이 위치하는 위치를 제어합니다.

  • .container {
      justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
    }
    
    /*
    flex-start (default): items are packed toward the start of the flex-direction.
    
    flex-end: items are packed toward the end of the flex-direction.
    
    center: items are centered along the line.
    
    space-between: items are evenly distributed in the line; first item is on the start line, last item on the end line.
    
    space-around: items are evenly distributed in the line with equal space around them. 
    
    space-evenly: items are distributed so that the spacing between any two items (and the space to the edges) is equal.
    */
    


  • align-items: 플렉스 아이템이 교차 축에 위치하는 위치를 제어합니다.

  • .container {
      align-items: stretch | flex-start | flex-end | center | baseline;
    }
    
    /*
    stretch (default): stretch to fill the container.
    
    flex-start: items are placed at the start of the cross axis.
    
    flex-end: items are placed at the end of the cross axis.
    
    center: items are centered in the cross-axis.
    
    baseline: items are aligned such as their baselines align.
    */
    


  • align-content: justify-content가 기본 축 내에서 개별 항목을 정렬하는 방식과 유사하게 교차 축에 추가 공간이 있을 때 플렉스 컨테이너의 선을 정렬합니다.

  • .container {
      align-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
    }
    
    /* similar to justify content */
    


  • gap: 플렉스 항목 사이의 공간을 제어합니다.

  • .container {
      display: flex;
      ...
      gap: 10px;
      row-gap: 10px;
      column-gap: 10px;
    }
    
    /*
    row-gap: explicitly controls the space between rows.
    
    column-gap: explicitly controls the space between column.
    */
    

    좋은 웹페이지 즐겨찾기