Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS3 Flexbox에서 flex-wrap 속성으로 항목 줄바꿈 활성화하기

CSS3의 Flexbox 레이아웃에서는 기본적으로 플렉스 항목(Flex Items)들이 한 줄에 모두 배치됩니다. 하지만 컨테이너의 너비가 부족할 때 항목들을 다음 줄로 자동으로 넘기고 싶다면 flex-wrap 속성을 사용하면 됩니다.

flex-wrap 속성이란?

flex-wrap 속성은 플렉스 컨테이너 안의 항목들이 한 줄에 배치될지, 아니면 여러 줄로 나뉘어 배치될지를 결정합니다. 값을 wrap으로 설정하면 항목들이 컨테이너의 너비를 초과할 경우 자동으로 줄바꿈되어 아래 줄로 이동합니다.

  • nowrap (기본값): 모든 항목을 한 줄에 배치하며, 필요시 항목의 크기를 축소합니다.
  • wrap: 항목들이 공간이 부족하면 다음 줄로 줄바꿈됩니다.
  • wrap-reverse: wrap과 동일하지만 줄의 순서가 역방향으로 배치됩니다.

예제 코드

아래는 CSS3를 사용하여 플렉스 항목의 줄바꿈을 활성화하는 전체 코드입니다.

<!DOCTYPE html>
<html>
<head>
<style>
body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.container {
    height: 300px;
    display: flex;
    width: 300px;
    border: 2px solid red;
    flex-wrap: wrap;
}
div {
    width: 150px;
    height: 100px;
    color: white;
    text-align: center;
    font-size: 20px;
}
.first {
    background-color: rgb(55, 0, 255);
}
.second {
    background-color: red;
}
.third {
    background-color: rgb(140, 0, 255);
}
</style>
</head>
<body>
<h1>Flex wrap example</h1>
<div class="container">
<div class="first">First Div</div>
<div class="second">Second Div</div>
<div class="third">Third Div</div>
</div>
</body>
</html>

코드 설명

위 예제에서 주목해야 할 부분은 다음과 같습니다.

  • .container 클래스에는 display: flex가 적용되어 있어 세 개의 자식 div가 플렉스 항목으로 배치됩니다.
  • 컨테이너의 너비는 300px인데, 각 항목의 너비는 150px이므로 한 줄에는 두 개의 항목만 들어갈 수 있습니다.
  • flex-wrap: wrap; 덕분에 세 번째 항목(Third Div)은 첫 번째 줄에 공간이 부족하여 자동으로 두 번째 줄로 내려가게 됩니다.

실행 결과

위 코드를 실행하면 빨간색 테두리의 컨테이너 안에서 파란색(First Div)과 빨간색(Second Div) 항목이 첫 번째 줄에 나란히 배치되고, 보라색(Third Div) 항목은 두 번째 줄로 줄바꿈되어 표시됩니다.

CSS3 Flexbox에서 flex-wrap 속성으로 항목 줄바꿈 활성화하기

마무리

flex-wrap 속성은 반응형 웹 디자인에서 매우 유용하게 활용됩니다. 화면 크기에 따라 항목들이 자연스럽게 재배치되도록 하려면 flex-wrap과 함께 flex-basis, media query 등을 조합하여 사용하는 것을 추천합니다.