본문 바로가기

CSS flexbox

CSS flexbox - 교차축 정렬 align-items와 align-content

교차축 정렬이란?

Flexbox 레이아웃에서 교차축(cross axis)주 축(main axis)에 수직인 축을 의미한다. 교차축 정렬은 이 축을 따라 Flex 아이템들을 배치하는 방법이다. 주 축이 수평 방향일 때 교차축은 수직 방향이 되고, 주 축이 수직 방향일 때 교차축은 수평 방향이 된다. 교차축 정렬을 위해 두 가지 주요 align-items와 align-content 속성을 사용한다.

 

1. align-items

align-items 속성은 Flex 컨테이너 내의 개별 Flex 아이템들을 교차축을 따라 정렬한다. Flex 컨테이너의 높이와 관계없이 각 아이템의 위치를 지정할 수 있다.

  • flex-start: 아이템들을 교차축의 시작 부분에 정렬한다.
  • flex-end: 아이템들을 교차축의 끝 부분에 정렬한다 .
  • center: 아이템들을 교차축의 가운데에 정렬한다 .
  • baseline: 아이템들을 텍스트의 기준선에 따라 정렬한다 .
  • stretch (기본값): 아이템들을 Flex 컨테이너의 높이에 맞게 늘린다.

 

시나리오 코드1
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
	.container{
		display: flex;
		flex-wrap: wrap;
		border: 2px solid #333;
		padding: 10px;
		height: 350px;
		background-color: #f9f9f9;
	}
	.item{
		background-color: #007bff;
		color: #fff;
		padding: 20px;
		margin: 10px;
		text-align: center;
		border-radius: 5px;
		width: 150px;
	}
</style>
</head>
<body>
	<h2>align-items: stretch</h2>
	<div class="container" style="align-items: stretch; flex-direction: row;">
		<div class="item">아이템 1</div>
		<div class="item">아이템 2</div>
		<div class="item">아이템 3</div>
	</div>

	<h2>align-items: flex-start</h2>
	<div class="container" style="align-items: flex-start; flex-direction: row;">
		<div class="item">아이템 1</div>
		<div class="item">아이템 2</div>
		<div class="item">아이템 3</div>
	</div>
	
	<h2>align-items: flex-end</h2>
	<div class="container" style="align-items: flex-end; flex-direction: row;">
		<div class="item">아이템 1</div>
		<div class="item">아이템 2</div>
		<div class="item">아이템 3</div>
	</div>
	
	<h2>align-items: center</h2>
	<div class="container" style="align-items: center; flex-direction: row;">
		<div class="item">아이템 1</div>
		<div class="item">아이템 2</div>
		<div class="item">아이템 3</div>
	</div>
	
	
	<!-- 잠깐 문제 -->
	<h2>정가운데로 정렬해주세요</h2>
	<div class="container" style="justify-content: center; align-items: center;">
		<div class="item">아이템 1</div>
	</div>
	
		<h2>끝으로 정렬해주세요</h2>
	<div class="container" style="justify-content: flex-end; align-items: flex-end;">
		<div class="item">아이템 1</div>
	</div>
	
</body>
</html>

 

728x90

'CSS flexbox' 카테고리의 다른 글

웹페이지 레이아웃 구성해 보기  (0) 2024.07.08
CSS flexbox - 주축 방향 정렬 justify-content  (0) 2024.07.02
CSS flexbox - flex-wrap  (0) 2024.07.02
CSS flexbox - flex-direction  (0) 2024.07.01
CSS flexbox  (0) 2024.07.01