検索
ホームページウェブフロントエンドCSSチュートリアルCSS 位置レイアウトを使用して Web ページでウォーターフォール フロー効果を実現する方法
CSS 位置レイアウトを使用して Web ページでウォーターフォール フロー効果を実現する方法Sep 26, 2023 am 11:48 AM
レスポンシブデザイン滝のレイアウトCSS の配置 (CSS の配置)

如何利用CSS Positions布局实现网页瀑布流效果

CSS ポジション レイアウトを使用して Web ページのウォーターフォール フロー効果を実現する方法

ウォーターフォール フロー レイアウトは、Web ページの一般的なレイアウト方法であり、要素が配置されているのが特徴です。ページ上に滝のように上から下へ流れていくように不規則に配置されています。ウォーターフォール フロー レイアウトは、Web デザインの画像表示、製品表示、その他のシナリオで広く使用されており、ページ スペースを有効に活用し、より多くのコンテンツを表示できます。この記事では、CSS Positions レイアウトを使用して Web ページのウォーターフォール効果を実現する方法を紹介します。

まず、HTML で複数のサブ要素を含むコンテナを作成し、ウォーターフォール フロー レイアウトのコンテンツを表示します。各子要素は、表示される単一の項目または画像を表します。

<div class="waterfall-container">
  <div class="item">Item 1</div>
  <div class="item">Item 2</div>
  <div class="item">Item 3</div>
  ...
</div>

次に、ウォーターフォール レイアウトを実装するために CSS スタイルを定義する必要があります。まず、コンテナの幅と最小の高さを設定し、position:relative を使用して、コンテナに対して子要素を相対的に配置します。

.waterfall-container {
  width: 100%;
  min-height: 400px;
  position: relative;
}

次に、position:Absolute を使用して子要素を配置します。ウォーターフォール効果を実現できるように、JavaScript を使用して子要素のランダムな高さを生成します。ここでは、乱数を返すことができる randomHeight() という名前の JavaScript 関数がすでに存在すると仮定します。

.item {
  width: 200px;
  position: absolute;
  padding: 10px;
  /* 元素水平间距和垂直间距 */
  margin: 10px;
  /* 定位子元素的初始位置 */
  top: 0;
  left: 0;
}

次に、JavaScript を使用して各子要素の位置を計算して適用する必要があります。 2 つの配列 columnHeightscolumnIndexes を使用して、各列の高さとインデックスを保持します。

var columnHeights = [0, 0, 0]; // 初始每列高度为0
var columnIndexes = [0, 1, 2]; // 初始每列索引为0, 1, 2
var columnCount = 3; // 列数
var itemWidth = 200; // 子元素宽度
var horizontalMargin = 20; // 水平间距
var verticalMargin = 20; // 垂直间距

var items = document.getElementsByClassName("item");
for (var i = 0; i < items.length; i++) {
  var shortestColumnHeight = Math.min.apply(null, columnHeights);
  var shortestColumnIndex = columnHeights.indexOf(shortestColumnHeight);

  items[i].style.top = columnHeights[shortestColumnIndex] + "px";
  items[i].style.left = shortestColumnIndex * (itemWidth + horizontalMargin) + "px";

  columnHeights[shortestColumnIndex] += items[i].offsetHeight + verticalMargin;
}

上記のコードを通じて、各列の高さとインデックスに基づいてサブ要素の位置を計算して適用することで、Web ページ上でウォーターフォール フロー レイアウトの効果を実現できます。

最後に、CSS スタイルと JavaScript コードを組み合わせることで、Web ページ上にウォーターフォール フロー レイアウトの効果を実現できます。もちろん、実際のニーズに応じてスタイルとコードを調整して、設計要件との一貫性を高めることができます。

要約すると、CSS 位置レイアウトを使用して Web ページのウォーターフォール フロー効果を実現する鍵は、position:Absolute を使用してサブ要素を配置し、JavaScript を使用して計算して適用することです。各サブ要素の位置。適切なスタイル設定とコード計算により、美しいウォーターフォール フロー レイアウトを簡単に実装できます。

参照:

  • W3Schools - CSS ポジション: [https://www.w3schools.com/csS/css_positioning.asp](https://www.w3schools.com / csS/css_positioning.asp)
  • MDN Web ドキュメント - 位置: [https://developer.mozilla.org/en-US/docs/Web/CSS/position](https://developer.mozilla . org/en-US/docs/Web/CSS/position)

以上がCSS 位置レイアウトを使用して Web ページでウォーターフォール フロー効果を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スクリーンリーダーの分解:アクセス可能なフォームとベストプラクティススクリーンリーダーの分解:アクセス可能なフォームとベストプラクティスMar 08, 2025 am 09:45 AM

これは、フォームアクセシビリティについて行った小さなシリーズの3番目の投稿です。 2番目の投稿を逃した場合は、「ユーザーフォーカスの管理:Focus-Visible」をご覧ください。で

Smart Forms Frameworkを使用してJavaScript連絡フォームを作成するSmart Forms Frameworkを使用してJavaScript連絡フォームを作成するMar 07, 2025 am 11:33 AM

このチュートリアルでは、Smart Formsフレームワークを使用して、プロフェッショナルなJavaScriptフォームの作成を示しています(注:使用できなくなりました)。 フレームワーク自体は利用できませんが、原則とテクニックは他のフォームビルダーに関連しています。

WordPressブロックと要素にボックスシャドウを追加しますWordPressブロックと要素にボックスシャドウを追加しますMar 09, 2025 pm 12:53 PM

CSS Box-Shadowおよびアウトラインプロパティは、WordPress 6.1でTheme.jsonサポートを獲得しました。実際のテーマでどのように機能するか、そしてこれらのスタイルをWordPressブロックと要素に適用するために必要なオプションのいくつかの例を見てみましょう。

満足している属性を持つインラインテキストエディターを作成します満足している属性を持つインラインテキストエディターを作成しますMar 02, 2025 am 09:03 AM

インラインテキストエディターの構築は些細なものではありません。 このプロセスは、ターゲット要素を編集可能にすることから始まり、その過程で潜在的なSyntaxerrorの例外を処理します。 エディターの作成 このエディターを構築するには、コンテンツを動的に変更する必要があります

最初のカスタムSvelteトランジションを作成します最初のカスタムSvelteトランジションを作成しますMar 15, 2025 am 11:08 AM

Svelte Transition APIは、コンポーネントがカスタムSVELTE遷移を含むドキュメントを入力または離れるときにアニメーション化する方法を提供します。

GraphQLキャッシングの使用GraphQLキャッシングの使用Mar 19, 2025 am 09:36 AM

最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

5つの最高のPHPフォームビルダー(および3つの無料スクリプト)を比較する5つの最高のPHPフォームビルダー(および3つの無料スクリプト)を比較するMar 04, 2025 am 10:22 AM

この記事では、Envato Marketで入手可能なPHPフォームのビルダースクリプトを説明し、機能、柔軟性、デザインを比較します。 特定のオプションに飛び込む前に、PHPフォームのビルダーが何であるか、そしてそれを使用する理由を理解しましょう。 PHPフォーム

node.jsとexpressのMulterを使用してファイルアップロードしますnode.jsとexpressのMulterを使用してファイルアップロードしますMar 02, 2025 am 09:15 AM

このチュートリアルは、node.js、Express、およびMulterを使用してファイルアップロードシステムを構築することをガイドします。 単一および複数のファイルのアップロードをカバーし、後で検索するためにMongoDBデータベースに画像を保存することさえ示します。 まず、プロジェックをセットアップします

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ヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!