CSS 다중 열 모듈로 레이아웃 구현

CSS 다중 열 모듈로 레이아웃 구현
당신과 같은 독자는 MUO를 지원하는 데 도움이 됩니다. 귀하가 당사 사이트의 링크를 사용하여 구매하면 당사는 제휴 수수료를 받을 수 있습니다. 자세히 알아보기

CSS 다중 열 레이아웃 모듈은 웹 페이지에 대한 다중 열 레이아웃을 쉽게 생성할 수 있는 강력한 도구입니다. 반응형 디자인의 부상은 이 모듈을 사용하는 방법을 이해하는 것이 중요하다는 것을 의미합니다.





열 속성을 사용하여 다양한 화면 크기에 적응하는 유연하고 동적인 레이아웃을 생성할 수 있습니다.





오늘의 메이크업 비디오 콘텐츠를 계속하려면 스크롤하세요.

열 번호, 너비 및 간격 지정

페이지 콘텐츠에 적합한 다중 열 레이아웃을 만들려면 확장할 열 수를 결정하는 것부터 시작해야 합니다. 다중 열 모듈에서 가장 중요한 속성 중 하나는 열 수 콘텐츠를 나눌 열 수를 설정하는 데 사용하는 속성입니다.





예를 들어:

어디에서 강아지를 살 수 있습니까?
 .container { 
  column-count: 3;
}

열의 너비와 간격을 지정할 수도 있습니다. 다음 중 하나를 사용하여 열 너비 값을 설정할 수 있습니다. 지원되는 CSS 단위 좋다 픽셀 , ~에 , 또는 % .

만약에 열 너비 로 설정 자동 , 브라우저는 각 열의 너비를 기준으로 계산합니다. 열 수 속성 및 레이아웃 내부의 사용 가능한 공간.

예를 들어, 이 CSS는 다음과 같이 선언합니다. 각 열의 너비는 다음과 같습니다. 200 픽셀:

 .container { 
  column-count: 3;
  column-width: 200px;
}

그만큼 열 간격 속성은 다중 열 레이아웃에서 열 사이의 간격 또는 공간을 지정합니다. 인접한 열 사이의 빈 공백 크기를 설정하고 픽셀, em 또는 기타 지원되는 단위의 길이 값을 사용할 수 있습니다.

예를 들어:

 .container { 
  column-count: 3;
  column-gap: 20px; /* sets the gap between columns to 20 pixels */
}

기본적으로 값은 열 간격 로 설정 정상. 브라우저는 시각적으로 만족스러운 상태를 유지하면서 레이아웃의 열 사이에 일관된 간격을 유지하기 위해 이 값을 선택합니다. 이 값은 브라우저마다 다를 수 있으며 글꼴 크기, 줄 높이, 위치 속성 , 및 열 콘텐츠의 기타 레이아웃 속성입니다.

열 균형 확인

CSS 열은 레이아웃 내에서 사용 가능한 모든 공간을 채우려고 합니다. 이로 인해 높이가 크게 다른 열이 생성되어 레이아웃이 고르지 않게 보일 수 있습니다.

열의 균형을 맞추려면 레이아웃의 각 열에 대략 동일한 양의 콘텐츠가 있는지 확인해야 합니다.

CSS를 설정하여 이를 달성할 수 있습니다. 열 채우기 재산 균형 . 그런 다음 브라우저는 콘텐츠를 모든 열에 균등하게 배포하여 거의 같은 높이가 되도록 합니다.

그만큼 열 채우기 속성이 다음으로 설정됨 균형 기본적으로 값은 자동 이 동작을 변경합니다. auto를 사용하면 사용 가능한 공간에 따라 열 전체에 콘텐츠가 배포됩니다. 이로 인해 기둥 사이의 간격이 고르지 않고 기둥 높이가 고르지 않을 수 있습니다. 빈 열이 있는 레이아웃을 생성할 수도 있습니다.

다음은 열 채우기 다중 열 레이아웃에서 열의 균형을 맞추는 속성:

 .multi-column-layout { 
  column-count: 3;
  column-gap: 20px;
  column-fill: balance;
}

이 예에서는 3개의 열과 각 열 사이의 간격이 20픽셀인 다중 열 레이아웃이 있습니다. 설정하여 열 채우기 재산 균형 , 콘텐츠가 열 전체에 고르게 분포되도록 하여 열 높이가 균형을 이루도록 합니다.

새로운 2ds xl 대 새로운 3ds xl

다음 사항에 유의하는 것이 중요합니다. 열 채우기 속성은 모든 레이아웃에서 제대로 작동하지 않을 수 있으며 열 사이의 간격이 고르지 않을 수 있습니다. 이러한 경우 JavaScript를 사용하여 열의 균형을 수동으로 조정해야 할 수 있습니다. 모범 사례를 따르고 점진적 향상 사용 JavaScript에 의존하지 않도록 합니다.

함께 모아서

CSS 열을 사용하여 레이아웃을 구현하는 방법에 대해 배운 모든 내용을 모아 매거진 스타일 레이아웃을 만드는 데 사용할 수 있습니다.

먼저 기본 HTML 구조를 만듭니다. 컨테이너 요소를 사용하여 콘텐츠를 래핑한 다음 열에 배치할 수 있는 여러 하위 요소를 만듭니다.

 <!DOCTYPE html> 
<html>
  <head>
    <link rel="stylesheet" href="CSScolumns.css" />
  </head>
  <body>
    <!-- Container Element -->
    <div class="magazine-layout">

      <!-- Child Elements -->
      <div class="article">
        <h2>Article Title</h2>

        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed in
        magna vel lorem pharetra bibendum.</p>
      </div>

      <div class="article">
        <h2>Article Title</h2>

        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed in
        magna vel lorem pharetra bibendum.</p>
      </div>

      <div class="article">
        <h2>Article Title</h2>

        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed in
        magna vel lorem pharetra bibendum.</p>
      </div>

    </div>
  </body>
</html>

CSS 다중 열 모듈을 사용하여 잡지 스타일 레이아웃을 생성하려면 열 수 , 열 너비 , 열 간격 , 그리고 열 채우기 속성:

 .magazine-layout { 
  column-count: 3;
  column-width: 300px;
  column-gap: 20px;
  column-fill: balance;
}

.article {
  background-color: #f8f8f8;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 10px;
  break-inside: avoid-column;
}

이 예제는 또한 다음을 정의합니다. 내부 침입 재산 .기사 값이 있는 클래스 피하기 열 . 이 속성은 각 기사가 여러 열로 분할되지 않고 단일 열 내에 유지되도록 합니다. 레이아웃은 다음과 같습니다.

  3개의 CSS 열이 각각 내부에 HTML 텍스트와 함께 가로로 정렬됨

지원되지 않는 브라우저에 폴백 사용

다음 사항에 유의하는 것이 중요합니다. 열 수 속성은 모든 브라우저에서 지원되지 않습니다. 지원하지 않는 브라우저 열 수 , 대신 단일 열에 내용을 표시합니다.

지원되지 않는 브라우저에 대체 스타일을 제공하려면 다음과 같은 기능 쿼리를 사용할 수 있습니다. @지원 에 대한 지원을 감지하기 위해 열 수 속성이 지원되지 않는 경우 대체 스타일을 제공합니다.

예를 들어:

 .container { 
  /* Fallback for browsers that do not support column-count */
  width: 100%;
}

/* Detect support for column-count */
@supports (column-count: 3) {
  .container {
    column-count: 3;
  }
}

이 예에서는 다음을 사용합니다. @지원 에 대한 지원을 감지하기 위한 기능 쿼리 열 수 재산. 브라우저가 열 수를 지원하는 경우 컨테이너 요소는 세 개의 열에 표시됩니다. 브라우저가 열 수를 지원하지 않으면 다음을 사용하여 단일 열에 콘텐츠를 표시합니다. 너비 재산.

콘텐츠를 열로 나누기

전반적으로 CSS 열은 웹 콘텐츠의 유용성과 사용자 경험을 향상시키는 유연하고 반응이 빠른 다중 열 레이아웃을 만드는 실용적이고 강력한 방법을 제공합니다.

CSS 열과 JavaScript를 함께 사용하면 다양한 사용자 기본 설정 및 장치 크기에 적응하는 훨씬 더 정교하고 동적인 레이아웃을 생성하여 사용자가 웹 콘텐츠에 더 쉽게 액세스하고 참여할 수 있도록 할 수 있습니다.