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

CSS flex-wrap: nowrap으로 플렉스 항목의 줄바꿈 방지하기

CSS에서 플렉스 컨테이너 안의 항목들이 화면 크기에 따라 자동으로 줄바꿈되는 것을 막고 싶다면 flex-wrap 속성에 nowrap 값을 사용하면 됩니다.

flex-wrap 속성이란?

flex-wrap은 플렉스 컨테이너 내부의 항목들이 한 줄에 배치될지, 아니면 여러 줄로 나뉘어 배치될지를 결정하는 속성입니다. 사용 가능한 값은 다음과 같습니다.

  • nowrap — 기본값으로, 모든 플렉스 항목을 한 줄에 배치합니다. 공간이 부족하면 항목이 줄어들거나 넘칠 수 있습니다.
  • wrap — 공간이 부족할 때 항목이 다음 줄로 넘어갑니다.
  • wrap-reverse — wrap과 같지만 줄바꿈 순서가 반대가 됩니다.

예제 코드

아래 예제는 flex-wrap: nowrap을 적용하여 9개의 퀴즈 항목(Q1~Q9)이 화면 폭과 관계없이 항상 한 줄에 배치되도록 구현한 코드입니다.

<!DOCTYPE html>
<html>
   <head>
      <style>
         .mycontainer {
            display: flex;
            background-color: orange;
            flex-wrap: nowrap;
         }
         .mycontainer > div {
            background-color: white;
            text-align: center;
            line-height: 40px;
            font-size: 25px;
            width: 100px;
            margin: 5px;
         }
      </style>
   </head>
   <body>
      <h1>Quiz</h1>
      <div class = "mycontainer">
         <div>Q1</div>
         <div>Q2</div>
         <div>Q3</div>
         <div>Q4</div>
         <div>Q5</div>
         <div>Q6</div>
         <div>Q7</div>
         <div>Q8</div>
         <div>Q9</div>
      </div>
   </body>
</html>

실행 결과 설명

위 코드를 실행하면 주황색 배경의 플렉스 컨테이너 안에 흰색 배경의 퀴즈 항목들이 가로로 나란히 정렬된 것을 확인할 수 있습니다. 브라우저 창의 너비를 줄여도 항목들은 새로운 줄로 넘어가지 않고 한 줄을 유지합니다. 이는 flex-wrap: nowrap 덕분입니다.

참고로 nowrap은 flex-wrap의 기본값이므로, 별도로 지정하지 않아도 플렉스 항목은 기본적으로 줄바꿈되지 않습니다. 하지만 의도를 명확히 드러내기 위해 코드에 직접 작성해 두는 것이 좋습니다.