찾다
웹 프론트엔드CSS 튜토리얼CSS 레이아웃 튜토리얼: 폭포수 레이아웃을 구현하는 가장 좋은 방법

CSS 레이아웃 튜토리얼: 폭포수 레이아웃을 구현하는 가장 좋은 방법

CSS 레이아웃 튜토리얼: 워터폴 레이아웃을 구현하는 가장 좋은 방법, 구체적인 코드 예제가 필요합니다

폭포 레이아웃은 다양한 크기의 요소를 여러 열에 배열할 수 있는 일반적인 웹 페이지 레이아웃 방법입니다. 양식은 하나씩 배열됩니다. 또 다른 하나는 폭포의 느낌을 줍니다. 이 레이아웃은 사진 벽, 제품 디스플레이 등 여러 항목을 표시해야 하는 웹 페이지에 자주 사용됩니다. 이 기사에서는 CSS를 사용하여 폭포식 레이아웃을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. HTML 구조 만들기
먼저 기본 HTML 구조를 만들어야 합니다. 페이지에서는 상위 컨테이너와 여러 하위 컨테이너를 사용하여 폭포 흐름 레이아웃을 구현합니다. 상위 컨테이너는 위치 지정 및 레이아웃을 담당하고 하위 컨테이너는 특정 콘텐츠를 배치하는 데 사용됩니다.

<div class="waterfall-container">
  <div class="waterfall-item"></div>
  <div class="waterfall-item"></div>
  <div class="waterfall-item"></div>
  <!-- 以此类推,可以根据需要添加更多的子容器 -->
</div>

예제에서는 waterfall-container를 상위 컨테이너의 클래스 이름으로 사용하고 waterfall-item을 하위 컨테이너의 클래스 이름으로 사용합니다. 실제 상황에 따라 이러한 클래스 이름을 조정할 수 있습니다. waterfall-container作为父容器的类名,使用waterfall-item作为子容器的类名。你可以根据实际情况调整这些类名。

二、CSS样式的设置
接下来,我们需要使用CSS来设置样式,实现瀑布流布局的效果。首先,我们给父容器设置一个宽度和居中对齐,然后设置子容器的宽度、间距和定位。

.waterfall-container {
  max-width: 900px; /* 设置最大宽度 */
  margin: 0 auto; /* 居中对齐 */
}
.waterfall-item {
  width: 300px; /* 设置子容器的宽度,可以根据实际需求进行调整 */
  margin-bottom: 20px; /* 设置子容器的底部间距,可以根据实际需求进行调整 */
  position: relative; /* 设置子容器的定位为相对定位 */
}

在以上示例中,我们设置了父容器的最大宽度为900px,并将它居中对齐。对于子容器,我们设置了一个固定的宽度和底部的间距,并将定位设置为相对定位。

三、JavaScript代码的编写
在使用CSS实现基本的瀑布流布局后,我们可以在必要的时候使用JavaScript来处理子容器的定位,以实现动态的效果。在本例中,我们将使用jQuery库来简化操作。

首先,在页面中引入jQuery库,然后编写以下代码:

$(window).on('load', function() {
  $('.waterfall-container').each(function() {
    var $container = $(this);
    var $items = $container.find('.waterfall-item');
    var columnCount = Math.floor($container.width() / $items.outerWidth(true));
    var columns = [];

    for (var i = 0; i < columnCount; i++) {
      columns.push(0); // 初始化每一列的高度为0
    }

    $items.each(function() {
      var $item = $(this);
      var shortestColumnIndex = 0;
      var shortestColumnHeight = columns[0];

      for (var i = 0; i < columnCount; i++) {
        if (columns[i] < shortestColumnHeight) {
          shortestColumnHeight = columns[i];
          shortestColumnIndex = i;
        }
      }

      $item.css({
        top: shortestColumnHeight,
        left: shortestColumnIndex * $items.outerWidth(true)
      });

      columns[shortestColumnIndex] += $item.outerHeight(true); // 更新最短列的高度
    });
  });
});

以上代码使用了jQuery的$(window).on('load', function() {})事件,确保页面完全加载后再执行布局代码。接着,我们使用了.each()

2. CSS 스타일 설정

다음으로 폭포 흐름 레이아웃 효과를 얻기 위해 CSS를 사용하여 스타일을 설정해야 합니다. 먼저 상위 컨테이너의 너비와 가운데 정렬을 설정한 다음 하위 컨테이너의 너비, 간격 및 위치를 설정합니다.

rrreee

위 예에서는 상위 컨테이너의 최대 너비를 900px로 설정하고 가운데 정렬했습니다. 하위 컨테이너의 경우 고정 너비와 하단 간격을 설정하고 위치를 상대 위치로 설정합니다.

3. JavaScript 코드 작성

CSS를 사용하여 기본 폭포 흐름 레이아웃을 구현한 후 필요한 경우 JavaScript를 사용하여 하위 컨테이너의 위치 지정을 처리하여 동적 효과를 얻을 수 있습니다. 이 예에서는 jQuery 라이브러리를 사용하여 작업을 더 쉽게 만듭니다.

먼저 페이지에 jQuery 라이브러리를 도입한 후 다음 코드를 작성합니다.
rrreee

위 코드는 jQuery의 $(window).on('load', function() {})를 사용합니다. > 이벤트, 레이아웃 코드를 실행하기 전에 페이지가 완전히 로드되었는지 확인하세요. 다음으로 .each() 메서드를 사용하여 각 상위 컨테이너를 순회하고 해당 하위 컨테이너를 찾았습니다. 그런 다음 상위 컨테이너가 보유할 수 있는 열 수를 계산하고 각 열의 높이를 0으로 초기화했습니다. 🎜🎜다음으로 각 하위 컨테이너를 반복하여 현재 높이가 가장 짧은 열을 찾습니다. 그런 다음 가장 짧은 열의 높이와 인덱스를 기준으로 현재 하위 컨테이너를 올바른 위치에 배치합니다. 마지막으로 새 하위 컨테이너를 배치한 후 변경 사항을 수용하기 위해 가장 짧은 열의 높이를 업데이트합니다. 🎜🎜4. 실제 시연 및 효과🎜위 코드가 완성되면 HTML, CSS, JavaScript 코드를 HTML 파일에 통합하여 브라우저에서 실행할 수 있습니다. 페이지의 하위 컨테이너가 폭포 레이아웃으로 배열되어 있는 것을 볼 수 있습니다. 🎜🎜상위 컨테이너의 너비와 하위 컨테이너의 너비를 조정하여 다양한 요구 사항과 장치에 맞게 폭포 흐름 레이아웃의 효과를 추가로 사용자 정의하고 최적화할 수 있습니다. 🎜🎜요약🎜이 글에서는 CSS를 사용하여 폭포 흐름 레이아웃을 구현하는 가장 좋은 방법을 소개하고 구체적인 코드 예제를 제공합니다. CSS와 JavaScript의 조합을 사용하면 웹 페이지에 여러 요소를 폭포 형태로 쉽게 표시할 수 있습니다. 이 기사가 폭포수 흐름 레이아웃을 배우고 적용하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 CSS 레이아웃 튜토리얼: 폭포수 레이아웃을 구현하는 가장 좋은 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
주간 플랫폼 뉴스 : Galaxy Store, Tappable Stories, CSS Subgrid의 웹 앱주간 플랫폼 뉴스 : Galaxy Store, Tappable Stories, CSS Subgrid의 웹 앱Apr 14, 2025 am 11:20 AM

이번 주에 Roundup : Firefox는 Locksmith-Like Powers를 얻는 Samsung '의 Galaxy Store가 프로그레시브 웹 앱을 지원하기 시작하고 CSS Subgrid는 Firefox에서 배송됩니다.

주간 플랫폼 뉴스 : Internet Explorer 모드, 검색 콘솔의 속도 보고서, 알림 제한 프롬프트 제한주간 플랫폼 뉴스 : Internet Explorer 모드, 검색 콘솔의 속도 보고서, 알림 제한 프롬프트 제한Apr 14, 2025 am 11:15 AM

이번 주에 Roundup : Internet Explorer는 Edge로가는 길을 찾고 Google 검색 콘솔은 새로운 속도 보고서를 선전하고 Firefox는 Facebook의 알림을 제공합니다.

CSS 사용자 정의 속성을 갖춘 범위의 힘 (및 재미)CSS 사용자 정의 속성을 갖춘 범위의 힘 (및 재미)Apr 14, 2025 am 11:11 AM

당신은 아마도 이미 CSS 변수에 익숙 할 것입니다. 그렇지 않다면 여기 2 초 개요가 있습니다. 실제로 사용자 정의 속성이라고합니다.

우리는 프로그래머입니다우리는 프로그래머입니다Apr 14, 2025 am 11:04 AM

웹 사이트 구축은 프로그래밍입니다. HTML 및 CSS 작성은 프로그래밍입니다. 나는 프로그래머이며, 여기에 CSS- 트릭을 읽는다면, 당신은 ' re a입니다.

사이트에서 사용하지 않은 CSS를 어떻게 제거합니까?사이트에서 사용하지 않은 CSS를 어떻게 제거합니까?Apr 14, 2025 am 10:59 AM

여기에 내가 당신이 선불 아는 것을 좋아하는 것 : 이것은 어려운 문제입니다. 당신이 여기에 착륙 한 경우, 당신은 당신이 말할 수있는 도구를 가리키기를 희망하기 때문에 여기에 착륙했다면

Picture-in-Picture Web API 소개Picture-in-Picture Web API 소개Apr 14, 2025 am 10:57 AM

Picturein-Picture는 2016 년 Macos Sierra의 출시와 함께 Safari 브라우저에서 웹에서 처음으로 등장했습니다. 사용자가 팝 팝이 가능했습니다.

개츠비를 사용하여 흐릿한 효과를위한 이미지를 구성하고 준비하는 방법개츠비를 사용하여 흐릿한 효과를위한 이미지를 구성하고 준비하는 방법Apr 14, 2025 am 10:56 AM

개츠비는 훌륭한 작업 처리 및 처리 이미지를 수행합니다. 예를 들어, 수동으로 이미지 최적화로 시간을 절약 할 수 있습니다.

오, 패딩 비율은 부모 요소의 너비를 기준으로합니다.오, 패딩 비율은 부모 요소의 너비를 기준으로합니다.Apr 14, 2025 am 10:55 AM

나는 오늘 비율 기반 (%) 패딩에 대해 내 머리에 완전히 잘못되었다고 배웠습니다! 나는 항상 백분율 패딩이

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구