티스토리 뷰
📌 Flexbox(Flexible Box)란?
Flexbox는 CSS의 레이아웃 모델 중 하나로, 아이템들을 효율적으로 정렬하고 배치할 수 있도록 도와주는 기술입니다. 기존의 float, inline-block을 사용할 때보다 더 쉽게 가로/세로 정렬을 조정할 수 있습니다.
🎯 Flexbox의 주요 특징
✅ 수직 정렬과 가로 정렬을 쉽게 조정 가능
✅ 컨테이너 크기에 따라 아이템 크기 자동 조정
✅ 반응형 레이아웃을 간편하게 구현 가능
🏗️ 1. Flexbox의 기본 개념
Flexbox는 크게 두 가지 요소로 구성됩니다.
용어 | 설명 |
Flex Container (부모 요소) | display: flex;를 적용한 요소 |
Flex Items (자식 요소) | Flex 컨테이너 내부에 있는 요소들 |
✅ 기본 예제
.container {
display: flex; /* Flexbox 활성화 */
border: 2px solid black;
}
.item {
width: 100px;
height: 50px;
background-color: lightblue;
margin: 5px;
}
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
👉 이렇게 하면 .container 안의 .item들이 자동으로 가로 정렬됩니다.
🎯 2. Flex Container(부모 요소) 속성
부모 요소(display: flex;가 적용된 컨테이너)에서 사용되는 주요 속성들은 다음과 같습니다.
✅ (1) display
.container {
display: flex; /* 기본 가로 정렬 */
/* display: inline-flex; (인라인 요소로 배치) */
}
- flex: 블록 요소처럼 배치됨
- inline-flex: 인라인 요소처럼 배치됨
✅ (2) flex-direction (주 축 방향 설정)
주 축(main axis)의 방향을 결정하는 속성입니다.
.container {
flex-direction: row; /* 기본값: 가로 방향 */
}
값 | 설명 |
row | 기본값, 왼쪽 → 오른쪽 (가로 정렬) |
row-reverse | 오른쪽 → 왼쪽 (가로 반전) |
column | 위 → 아래 (세로 정렬) |
column-reverse | 아래 → 위 (세로 반전) |
🔹 예제:
.container {
display: flex;
flex-direction: column;
}
👉 아이템들이 세로 방향으로 정렬됩니다.
✅ (3) justify-content (주 축 정렬)
가로축(main axis)에서 아이템들을 정렬하는 속성입니다.
.container {
justify-content: center; /* 중앙 정렬 */
}
값 | 설명 |
flex-start | (기본값) 왼쪽 정렬 |
flex-end | 오른쪽 정렬 |
center | 중앙 정렬 |
space-between | 양쪽 끝 배치, 나머지 균등 배치 |
space-around | 각 아이템의 양쪽에 동일한 여백 추가 |
space-evenly | 모든 여백을 균등하게 배치 |
🔹 예제:
.container {
display: flex;
justify-content: space-between;
}
👉 아이템들이 양쪽 끝에 배치되고, 사이 간격이 균등하게 나뉩니다.
✅ (4) align-items (교차 축 정렬)
세로축(cross axis)에서 아이템들을 정렬하는 속성입니다.
.container {
align-items: center; /* 세로 중앙 정렬 */
}
값 | 설명 |
stretch | (기본값) 높이를 컨테이너에 맞춤 |
flex-start | 위쪽 정렬 |
flex-end | 아래쪽 정렬 |
center | 세로 중앙 정렬 |
baseline | 텍스트 기준선 정렬 |
🔹 예제:
.container {
display: flex;
align-items: flex-end;
}
👉 아이템들이 컨테이너의 아래쪽에 정렬됩니다.
✅ (5) flex-wrap (줄 바꿈 설정)
아이템들이 컨테이너를 넘어갈 경우 줄 바꿈을 허용할지 여부를 설정합니다.
.container {
flex-wrap: wrap; /* 자동 줄 바꿈 */
}
값 | 설명 |
nowrap | (기본값) 한 줄 유지 |
wrap | 여러 줄로 배치 |
wrap-reverse | 줄 바꿈을 거꾸로 적용 |
🔹 예제:
.container {
display: flex;
flex-wrap: wrap;
}
👉 아이템들이 컨테이너 너비를 넘어가면 자동으로 줄 바뀝니다.
✅ (6) align-content (여러 줄 정렬, flex-wrap과 함께 사용)
여러 줄을 정렬하는 속성입니다. (flex-wrap: wrap; 상태에서만 효과 있음)
.container {
align-content: space-between;
}
값 | 설명 |
stretch | (기본값) 행의 높이를 컨테이너에 맞춤 |
flex-start | 위쪽 정렬 |
flex-end | 아래쪽 정렬 |
center | 중앙 정렬 |
space-between | 첫 행은 위, 마지막 행은 아래, 나머지는 균등 정렬 |
space-around | 각 행의 위아래 여백을 균등 배치 |
🎯 3. Flex Item(자식 요소) 속성
✅ (1) flex-grow (확장 비율)
컨테이너가 커질 때 각 아이템이 차지하는 비율을 정합니다.
.item {
flex-grow: 1; /* 동일한 비율로 크기 조정 */
}
✅ (2) flex-shrink (축소 비율)
컨테이너가 작아질 때 각 아이템의 축소 비율을 설정합니다.
.item {
flex-shrink: 0; /* 줄어들지 않음 */
}
✅ (3) flex-basis (기본 크기)
아이템의 기본 크기를 설정합니다.
.item {
flex-basis: 200px; /* 기본 너비 200px */
}
✅ (4) align-self (개별 아이템 정렬)
개별 아이템에 대해 align-items를 덮어씁니다.
.item {
align-self: center; /* 해당 아이템만 세로 중앙 정렬 */
}
🎯 4. 정리 (필수 속성 한눈에 보기)
속성 | 설명 |
display: flex; | Flexbox 활성화 |
flex-direction | 주 축 방향 설정 |
justify-content | 주 축에서 아이템 정렬 |
align-items | 교차 축에서 아이템 정렬 |
flex-wrap | 줄 바꿈 여부 설정 |
align-content | 여러 줄 정렬 |
flex-grow | 확장 비율 |
flex-shrink | 축소 비율 |
flex-basis | 기본 크기 설정 |
★ flex는 flex-grow, flex-shrink, flex-basis의 단축 속성
ex ) flex: 1 1 100px;
'WEB > css' 카테고리의 다른 글
[챗GPT가 알려주는] flex css에 사용되는 속성중 align-items, align-content, align-self 차이점 (0) | 2025.02.04 |
---|---|
flexbox (0) | 2024.12.31 |
CSS 미디어 쿼리(media query) - 반응형 코딩 (0) | 2024.12.31 |
hamburgers (0) | 2021.08.19 |
animate.css (0) | 2021.08.19 |
- Total
- Today
- Yesterday
- 와이파이신호 #와이파이 #와이파이신호세게
- 좋은책 #밥프록터 #부의원리
- 와이파이약할때
- 정보처리기사 #정보처리기사요약 #정보처리기사요점정리
- sw기술자평균임금 #2025년 sw기술자 평균임금
- thymeleaf
- iptime와이파이증폭기 #와이파이증폭기설치
- 파비콘사이즈
- 테스크탑무선랜카드 #무선랜카드 #아이피타이무선랜카드 #a3000mini #무선랜카드추천
- jQuery #jQuery이미지슬라이드 #이미지슬라이드
- 연명의료결정제도 #사전연명의료의향서 #사전연명의료의향서등록기관 #광주사전연명의료의향서
- 무료폰트 #무료웹폰트 #한수원한돋움 #한수원한울림 #한울림체 #한돋움체
- jdk #jre
- 증폭기 #아이피타임증폭기
- 썬크림 #닥터지썬크림 #내돈내산 #내돈내산썬크림 #썬크림추천 #spf50썬크림 #닥터지메디유브이울트라선
- SQL명령어 #SQL
- 자바스크립트 #javascript #math
- echart
- 바지락칼국수 #월곡동칼국수 #칼국수맛집
- 자바스크립트정규표현식
- 좋은책
- 와이파이증폭기추천 #와이파이설치
- css미디어쿼리 #미디어쿼리 #mediaquery
- 쇼팬하우어 #좋은책
- ajax
- 파비콘 #파비콘 사이트에 적용
- lg그램pro #lg그램 #노트북 #노트북추천 #lg노트북
- 광주분식 #광주분식맛집 #상추튀김 #상추튀김맛집 #광주상추튀김
- 자바스크립트break
- 자바스크립트countiue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |