JavaScript

웹 개발의 필수 언어

동적인 웹 페이지 구현을 위한 핵심 프로그래밍 언어.

Java

객체지향 프로그래밍

안정적이고 확장성 있는 백엔드 개발의 대표 언어.

HTML

웹의 기초

웹 페이지의 구조를 정의하는 마크업 언어.

React

현대적 UI 라이브러리

효율적인 사용자 인터페이스 구축을 위한 JavaScript 라이브러리.

CSS

웹 디자인의 핵심

웹 페이지의 시각적 표현을 담당하는 스타일 언어.

Spring

자바 웹 프레임워크

기업급 애플리케이션 개발을 위한 강력한 프레임워크.

CSS/css 심화

CSS 심화 공부(11) - flex item 속성(5) : flex

lamarcK 2025. 3. 13. 20:26

flex 속성

flex 속성은 플렉스 아이템의 크기 조절 방식을 한 번에 설정하는 축약 속성이다.

flex-grow, flex-shrink, flex-basis 세 가지 속성을 결합하여 사용한다.

flex 속성의 구성 요소

  • flex-grow:
    • 플렉스 컨테이너 안에 남는 공간이 있을 때 플렉스 아이템이 얼마나 늘어날지를 결정합니다.
    • 값이 0이면 아이템이 늘어나지 않고, 양수이면 해당 비율만큼 늘어납니다.
  • flex-shrink:
    • 플렉스 컨테이너 안에 공간이 부족할 때 플렉스 아이템이 얼마나 줄어들지를 결정합니다.
    • 값이 0이면 아이템이 줄어들지 않고, 양수이면 해당 비율만큼 줄어듭니다.
  • flex-basis:
    • 플렉스 아이템의 초기 크기를 설정합니다.
    • auto 또는 길이 단위(px, %, em 등)를 사용하여 설정할 수 있습니다.

flex 속성의 사용법

  • flex: none;:
    • flex-grow: 0; flex-shrink: 0; flex-basis: auto;와 동일합니다.
    • 아이템이 늘어나거나 줄어들지 않고, 초기 크기는 내용물에 따라 결정됩니다.
  • flex: auto;:
    • flex-grow: 1; flex-shrink: 1; flex-basis: auto;와 동일합니다.
    • 아이템이 늘어나고 줄어들며, 초기 크기는 내용물에 따라 결정됩니다.
  • flex: [flex-grow] [flex-shrink] [flex-basis];:
    • 세 가지 값을 순서대로 설정합니다.
    • flex-shrink와 flex-basis는 생략할 수 있습니다.
    • 예: flex: 1 1 200px; 또는 flex: 2;

.container1{
    display: flex;
    border: 2px black solid;
    width: fit-content;
}

.item1 {
    flex: 1 1 200px;
  }
  
  .item2 {
    flex: 1 1 50%;
  }
  
  .item3 {
    flex: 1 1 10em;
  }

.item1, .item2, .item3
{border:  1px black solid;}

각각 예시에 따라 크기가 결정되었는데

50%라는 것은 초기 너비가 없기 때문에 콘텐츠 크기의 50%라는 뜻이다.

  .item2 {
    flex: 1 1 100%;
  }

크기를 100%로 설정하면 콘텐츠 크기만큼 초기 크기가 커진다.