플렉스 박스 레이아웃 (1차원 레이아웃 설계하기)

2025. 3. 15. 16:00·Language/CSS
목차
  1. 1차원 레이아웃은 어떻게 설계할까?
  2. 플렉스 박스(Flex box) 레이아웃
  3. 기본 구성
  4. 플렉스 박스 레이아웃의 정렬 속성 (플렉스 아이템 정렬)

 

 

 


 

1차원 레이아웃은 어떻게 설계할까?

 

 


 

 

 

 

플렉스 박스(Flex box) 레이아웃

 

--

플렉스 박스 레이아웃은

1차원(단일 방향) 방식으로 레이아웃을 구성할 때 유리한 방식으로

주로 가로(row) 또는 세로(column) 방향으로 배치하여 레이아웃을 설계하는 데 사용된다.

 

 

레이아웃 확인 방법은
일반적으로 웹 브라우저에서 지원하는 방법을 통해 플렉스 레이아웃을 확인할 수 있다.
ex. 크롬에서는 개발자 도구를 통해 "Elements"탭에 작성된 코드르 보면
플렉스 박스 레이아웃이 적용된 HTML 요소 옆에 "flex 아이콘"이 존재한다.

--

 

 

 

 

기본 구성

 

--

핵심 속성

 

display 속성

모든 플렉스 박스 레이아웃은

display 속성값을 "flex"나 "inline-flex"로 지정하는 것으로 시작된다.

 

기본 형식

display: flex;
/* 또는 */
display: inline-flex;
  • flex  :  적용된 요소의 다음 요소가 항상 줄 바꿈
  • inline-flex  :  다음 요소가 주변에 배치
display 속성이 정의된 요소가 "플렉스 컨테이너"가 되며,
해당 요소의 자식 요소는 "플렉스 아이템"이 된다.

 

예시 코드

<style>
    .flex-container{
        width:500px;
        height:300px;
        background-color: lightgray;
        border: 2px solid black;
        display: flex;
    }
    .div-1 {
        background-color: yellow;
    }
    .div-2 {
        background-color: yellowgreen;
    }
</style>
    
<!-- 생략 -->

<div class="flex-container">
    <div class="div-1">item1</div>
    <div class="div-2">item2</div>
    <div class="div-1">item3</div>
    <div class="div-2">item4</div>
</div>

플렉스 박스 레이아웃의 기본 특징은
플렉스 아이템이 가로 방향으로 배치된다.
이때, 플렉스 아이템이 원래 가지고 있던 성격(인라인, 인라인 블록, 블록)은 무시된다.

 

 

flex-direction 속성

플렉스 박스 레이아웃의 주축 방향을 결정한다.

 

기본 형식

flex-direction: 속성값;

 

예시 코드

.flex-container{
    width:500px;
    height:300px;
    background-color: lightgray;
    border: 2px solid black;
    display: flex;
    flex-direction: row-reverse;
}

 

 

 

flex-wrap 속성

플렉스 아이템이 플렉스 컨테이너 영역을 벗어날 때 어떻게 처리할지 결정하는 속성이다.

 

기본 형식

flex-wrap: 속성값;

 

예시 코드

.flex-container{
    width:500px;
    height:300px;
    background-color: lightgray;
    border: 2px solid black;
    display: flex;
    flex-wrap: wrap;
}

플렉스 아이템에 크기를 정의하지 않아서
첫 번째 줄과 두 번째 줄에 나열된 플렉스 아이템(div)의 너비가 남은 공간에 따라 달라진다.

 

 

 

flex-flow 속성

"flex-direction" 속성과 "flex-wrap" 속성을 한 번에 사용할 수 있는 단축 속성이다.

 

기본 형식

flex-flow: flex-direction flex-wrap;

 

예시 코드

flex-direction: column;
flex-wrap: nowrap;
flex-flow: column nowrap;

--

 

 

 

 

플렉스 박스 레이아웃의 정렬 속성 (플렉스 아이템 정렬)

 

--

justify-content 속성

플렉스 아이템을 주축 방향으로 정렬할 때 사용하는 속성이다.

 

기본 형식

justify-content: 속성값;

 

예시 코드

.flex-container{
    width:500px;
    height:300px;
    background-color: lightgray;
    border: 2px solid black;
    display: flex;
    justify-content: flex-start;
}

 

 

 

align-items & align-content & align-self 속성

플렉스 아이템을 교차축 방향으로 정렬할 때 사용하는 속성이다.

 

  • align-items   :   플렉스 아이템을 교차축 방향으로 정렬
  • align-content   :   플렉스 아이템이 "flex-wrap" 속성으로 인해 두 줄 이상이 될 때만 사용
  • align-self   :   플렉스 아이템을 개별적으로 교차축 방향으로 정렬

 

기본 형식

align-items: 속성값;
align-content: 속성값;
align-self: 속성값;

 

 

예시 코드

.flex-container{
    width:500px;
    height:300px;
    background-color: lightgray;
    border: 2px solid black;
    display: flex;
    align-items: flex-end;
}

 

.flex-container{
    width:500px;
    height:300px;
    background-color: lightgray;
    border: 2px solid black;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}

 

.flex-container{
    width:500px;
    height:300px;
    background-color: lightgray;
    border: 2px solid black;
    display: flex;
}

.div-1 {
    background-color: yellow;
    align-self: flex-start;
}
.div-2 {
    background-color: yellowgreen;
    align-self: flex-end;
}
.div-3 {
    background-color: lightcoral;
    align-self: center;
}
.div-4 {
    background-color: lightpink;
    align-self: baseline;
}

--

 

 

 

 

 

저작자표시 비영리 변경금지

'Language > CSS' 카테고리의 다른 글

반응형 웹 페이지를 위한 미디어 쿼리  (0) 2025.03.17
그리드 레이아웃 (2차원 레이아웃 설계하기)  (0) 2025.03.17
웹 폰트, 아이콘 폰트 사용  (0) 2025.03.15
[속성] 요소 자체(크기, 위치, 회전 등)를 변형하는 효과 속성  (0) 2025.03.14
[속성] 애니메이션 속성을 통해 전환 효과 제어  (0) 2025.03.14
  1. 1차원 레이아웃은 어떻게 설계할까?
  2. 플렉스 박스(Flex box) 레이아웃
  3. 기본 구성
  4. 플렉스 박스 레이아웃의 정렬 속성 (플렉스 아이템 정렬)
'Language/CSS' 카테고리의 다른 글
  • 반응형 웹 페이지를 위한 미디어 쿼리
  • 그리드 레이아웃 (2차원 레이아웃 설계하기)
  • 웹 폰트, 아이콘 폰트 사용
  • [속성] 요소 자체(크기, 위치, 회전 등)를 변형하는 효과 속성
아-니지
아-니지
아-니지
성장 기록.zip
아-니지
  • 분류 전체보기 (266)
    • Language (76)
      • Java (39)
      • Kotlin (0)
      • HTML (10)
      • CSS (17)
      • Java Script (10)
    • JPA (11)
    • Spring Boot (27)
    • QueryDSL (2)
    • SQL [DB] (8)
    • Docker (29)
    • AWS (19)
    • Git & GitHub (17)
    • DevOps (1)
    • Terminology (14)
    • CS (50)
      • 컴퓨터 구조 (12)
      • 운영체제 (11)
      • 자료구조 (11)
      • 알고리즘 (0)
      • 네트워크 (16)
    • Record (7)
      • 알고리즘 풀이 (4)
      • 자바 메서드 (3)
    • Self Q&A (5)
hELLO· Designed By정상우.v4.5.3
아-니지
플렉스 박스 레이아웃 (1차원 레이아웃 설계하기)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.